kostenloser Webspace werbefrei: lima-city


Mit Zeiten rechnen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Hallo,

    ich tag/probier">probier seit Tagen einige Varianten und finde keine wirklich gute Lösung.
    Ich möchte eine Aktion nur alle 30 Minuten erlauben.
    Dann soll die aktuelle Zeit mit der Zeit verglichen oder subtrahiert werden.
    Und erst wenn der Teilnehmer vor 30 Minuten oder länger teilgenommen hat, darf er noch eine Aktion ausführen.
    Wir würdet ihr das machen?
    Ich weiß nur nicht wie man am besten mit 2 verschiedenen Zeiten rechnet.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Nimm einfach den timestamp! Das ist die Zeit von 1970 oder so in Sekunden.
  4. f************r

    Hi,

    ich würde das mit timestamps machen:
    <?php 
    $timestamp = time(); //Timestamp jetzt 
    $gestern = $timestamp - 1800; //Timestamp 30 min früher 
    ?>


    Wenn du den timestamp z.B. in einer DB speicherst prüfst du das so:
    if ($timestampdb =< (time() - 1800))
    {
    //Führe Aktion aus 
    }
    else
    {
    echo "Bitte warten Sie noch ".$timestampdb-time()-1800." Sekunden!";
    }


    MfG

    Steffen
  5. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Aso,
    ich hab immer erst in die "normale" Zeit umrechnen lassen.
    Aber auf die Idee mit dem Timestamp kam ich auch, nur wusste ich nicht ob es funktioniert, da es
    so viele Zahlen sind und ich nicht wusste, ob das klappt.
    Danke jedenfalls für deine schnelle Antwort.
  6. Hallo seth93,

    der Timestamp ist wie cookies schon sagte die Zeit in Sekunden seit 1.1.1970 00:00 UTC.

    Und lässt sich somit wunderbar subtrahieren um Zeitdifferenzen zu bestimmen.

    habe das Beispiel von fusballmanager korrigiert damit es auch funktioniert.

    if ($timestampdb <= time()-1800)
    {
    //Führe Aktion aus 
    echo "Aktion";
    }
    else
    {
    echo "Bitte warten Sie noch ".($timestampdb-time()+1800)." Sekunden!";
    }



    Du speicherst einfach immer dann wenn die "Aktion" ausgeführt wird den aktuellen Timestamp in der DB (oder wo auch immer)

    $timestampdb = time();


    Vor der if-Bedinung liest du einfach den Wert aus der DB und machts die überprüfung.
  7. Autor dieses Themas

    seth93

    seth93 hat kostenlosen Webspace.

    Ja, ich hab das schon hinbekommen, vielen Dank ^^
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!