zeitsperre

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • zeitsperre

    Frage:

    ist in meiner logik was falsch ... das soll ne 2min sperre sein ... ?

    $timestamp = aktueller timestamp
    $timestamptest[0] = timestamp vom letzte kommentar (sofern eins geschrieben wurde)

    PHP-Code:
    if ( $timestamp $timestamptest[0] < 120 )
    {
    // man kann kein kommenar screben
    }
    else
    {
    // jetzt kann man ein kmmentar schreiben


  • #2
    sieht doch erstmal ok aus - was passiert denn (bzw. nicht)
    und poste mal die anderen relavanten Teile (wo du zb. $timestamptest[0] setzt - denke mal das Problem liegt eher da)
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

    Kommentar


    • #3
      PHP-Code:
      mysql_select_dbMYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");
      $sql "SELECT timestamp FROM kommentare WHERE newsid='$id' and poster='$user' ORDER BY timestamp";
      $news_result2 mysql_query($sql) or die('Fehler 3: '.mysql_error());
      while (
      $row mysql_fetch_array($news_result2MYSQL_NUM)){
      $timestamptest[] = $row[0];}

      $timestamp time(); 
      kann es sein das der die in die falsche richtung sortiert mit ORDER BY timestamp? also die ältesten zuerst? wie kann ich das anders rum machen?

      der geht halt immer ins else rein obwohl er da nicht rein soll ^^
      Zuletzt geändert von owi; 11.09.2008, 10:34.

      Kommentar


      • #4
        wie kann ich das anders rum machen?
        asc bzw. desc (auf und ab steigend), hinter dem ORDER BY timestamp
        "I don't want to belong to any club that would accept me as a member."

        Groucho Marx

        Kommentar


        • #5
          asc bzw. desc (auf und ab steigend), hinter dem ORDER BY timestamp
          Und gleich noch ein LIMIT 1 hintendran, da der TS ja eh nur den aktuellsten Zeitstempel will.
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Mal ein
            PHP-Code:
            var_dump($timestamptest); 
            gemacht?
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              du möchtest überprüfen wann der Benutzer den letzten Kommentar bei einer bestimmten News abgegeben hat?

              PHP-Code:
              $sql mysql_query("SELECT timestamp FROM kommentare WHERE newsid=".$id." and poster=".$user);
              $row mysql_fetch_array($sql);

              if ( (
              time() - $row['timestamp']) < 120 ) {
              // man kann kein kommenar screben
              }
              else {
              // jetzt kann man ein kmmentar schreiben

              ^^ das sollte doch genügen oder hab ich was falsch verstanden?

              Kommentar


              • #8
                Mysql besitzt bereits Zeitfunktionen, ergo kann man bereits mit MySQL Statements Zeitsperren realisieren.

                siehe auch:
                http://dev.mysql.com/doc/refman/5.1/...functions.html

                banales Beispiel wäre:
                Code:
                SELECT * 
                  FROM 
                   table  
                  WHERE  
                    DATE_ADD(Zeitspalte,INTERVAL 100 SECOND) >NOW() and userID=1
                Solange die Ergebnismenge != 0 ist, verhindert das System neue Einträge.

                Das setzt allerdings voraus das man mit eleganteren Mysql Timestamps arbeitet
                [color=blue]MfG Payne_of_Death[/color]

                [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                [color=red]Merke:[/color]
                [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                Murphy`s Importanst LAWS
                Jede Lösung bringt nur neue Probleme
                Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                Kommentar

                Lädt...
                X