Ergebnis 1 bis 10 von 20

Thema: Zeitsperre beim VMS

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Ich hab eine Idee wie man sowas umsetzen könnte.

    In der content/betteln.php muss noch geschaut werden nach wieviel Sekunden die Vergütung kommen soll, entsprechend errechnet man sich dann auch noch anhand der aktuellen Zeit wann die Vergütung frühestens erfolgen darf, dabei baut man noch 1-2 Sekunden extra ein... z.B. so:

    PHP-Code:
    $bettel_verg_time time()-2+30
    Das bedeutet das eine Vergütung nach 30 Sekunden erfolgen darf damit es nicht zuviele unvergütete gibt noch 2 Sekunden die früher aufgerufen werden darf. Das trägt man dann in eine Datenbank ein, ich nenn sie einfach mal vms_bettelcheck

    PHP-Code:
    db_query('INSERT INTO '.$db_prefix.'_bettelcheck (time) VALUES ('.$bettel_verg_time.')'); 
    So damit steht nun die Zeit in der Tabelle im Feld time die Tabelle hat genau 2 Felder

    id - INT - PRIMARY KEY - AUTO_INCREMENT
    time - INT(10)
    Durch Auto_Increment erhält jeder eintrag eine eigene unique ID die wir NACH dem Eintrag in die DB auslesen:

    PHP-Code:
    $bettel_id mysql_insert_id(); 
    Damit wären die vorbereitungen getroffen.... nun gehts ans eingemachte mit der ID die wir erhalten haben können wir jederzeit wieder die Zeit aus der Datenbank auslesen. Wir aktualisieren dann nach x Sekunden einfach die Bettelseite und übergeben per URL die ID.

    Code:
    <meta http-equiv="refresh" content="30; URL=?content=/betteln&ref=<?=$_GET['ref'];?>&id=<?=$bettel_id;?>">
    So nach X Sekunden in dem Fall 30 wird die Url aktualisiert und der Parameter id mit übergeben
    damit php weis das es jetzt auszahlen soll muss noch eine Abfrage rein ^^

    PHP-Code:
    if ($_GET['id'] && is_numeric($_GET['id'])){
       
    $darf_betteln db_query('SELECT time FROM '.$db_prefix.'_bettelcheck WHERE id='.$_GET['id'].' && time<='.time().'');
       if (
    mysql_num_rows($darf_betteln)){
       
    // Hier vergütetn und anschließend den Eintrag aus der Tabelle löschen um Doppelte Verwendung zu verhindern
       
    }else{
       
    // Nicht vergüten trotzdem Eintrag aus db löschen da ja einer vorhanden sein kann aber die Zeit nur noch nicht <= time() ist ^^
       
    }

    Alles denkanstösse und nix fertiges vielleicht macht es ja einer kostenlos fertig

    Man sollte auch eine Grenze anlegen z.B. wenn nach 30 Sek. aktualisiert wird das dann nach 60 oder 90sek. etc. der Code abläuft..^^

    Gruß
    Gremlin
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  2. #2
    Benutzer
    Registriert seit
    25.01.2007
    Beiträge
    33
    Will's keiner fertig machen?

  3. #3
    Benutzer
    Registriert seit
    22.07.2007
    Beiträge
    84
    heute nein morgen ja...
    das morgen nur nicht zu wörtlich nehmen. ^^
    vom prinzip her könnte ich sowas machen, das problem ist nur vms 1.2...

    muss erst mal alle meine scripte anpassen und optimieren, vms 1.2 ist ein guter anlass alles mal richtig ordentlich zu machen. zudem kommt noch dieses nervige privatleben, echt ätzend ^^



    und da ich das bettelscript selbst net nutze un diese arbeit mir so nichts bringen würde kommt sie erst ma ganz hinten dran ^^

  4. #4
    Benutzer
    Registriert seit
    25.01.2007
    Beiträge
    33
    Schon was neues?

  5. #5
    Erfahrener Benutzer Avatar von maniwelt
    Registriert seit
    10.09.2006
    Beiträge
    981
    @oje:

    Zahle dir 1 Mio. Klammlose wenn du den ganz ganz vorne auf deine Aufgabe-Liste packst XD

  6. #6
    Pitti
    Gast
    gibt es hier was neues???

  7. #7
    Gesperrt
    Registriert seit
    30.09.2007
    Beiträge
    24
    Hi habe das gamze bei mir wie folgt gelöst

    füge in deiner bettel.php zwischen
    if (!mysql_num_rows($reloadcheck)) {
    und

    }else{
    folgenden code ein


    if($bverg == "ok"){
    $minimum = $pageconfig['min_betteln'];
    $maximum = $pageconfig['max_betteln'];
    srand((double)microtime()*1000000);
    $bettelsumme = rand($minimum*100,$maximum*100)/100;
    $new_reload = time()+$pageconfig['reload_betteln'];
    db_query("INSERT INTO ".$db_prefix."_reloads_betteln (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')");
    db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme.", kontostand = kontostand + '".$bettelsumme."' WHERE uid = '".$_GET['ref']."'");

    refumsatz ($bettelsumme,$_GET['ref']);
    aktivralley ($bettelsumme,$_GET['ref']);
    bilanz(0,$bettelsumme);
    $betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' '.$waehrung.' erbettelt!</b>';
    }else{
    $btime = "5";
    $betteltext = '<b>In '.$btime.' Sekunden bekommt der User '.$_GET['ref'].' eine kleine Belohnung!</b>';
    echo '<meta http-equiv="refresh" content="'.$btime.'; URL=?content=/betteln&bverg=ok&ref='.$_GET['ref'].'">';
    }
    mit
    $btime = "5";
    kann man so die Zeit in Sekunden angeben die bis zur Vergütung vergehen müssen


    Gruß b3nny

Ähnliche Themen

  1. [HTML/CSS/JS] Hilfe beim Umsetzen
    Von Sam2004 im Forum [HD] Programmieren
    Antworten: 0
    Letzter Beitrag: 12.11.2011, 15:08
  2. Probleme mit Modulsystem beim VMS 1.1
    Von Gothicman1 im Forum Support zu Addons & Erweiterungen
    Antworten: 7
    Letzter Beitrag: 06.04.2011, 00:17
  3. Fehler beim anmelden
    Von DSC_JUERGEN im Forum [HD] Programmieren
    Antworten: 3
    Letzter Beitrag: 26.01.2010, 16:06
  4. Zeitlöschen beim VMS
    Von halk im Forum [HD] Programmieren
    Antworten: 10
    Letzter Beitrag: 04.04.2008, 22:52
  5. hilfe fehlermeldung beim ref
    Von halk im Forum [HD] Programmieren
    Antworten: 15
    Letzter Beitrag: 16.11.2007, 11:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •