kostenloser Webspace werbefrei: lima-city


timestamp überprüfen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    senshi-network

    senshi-network hat kostenlosen Webspace.

    Hallooo :wave:, ich möchte überprüfen ob ein eintrag öfters als 3x in 4 stunden in der tabele exestiert aber irgend wie klapt das nicht! deswegen die frage was eine möglichkeit wäre damit es funktioniert hier ma die einzelden scripts...

    "1"
    $sql = "SELECT ". 
        "*". 
      "FROM ". 
        "account ". 
      "WHERE ". 	
        "(user '$user')"; 
    $result = mysql_query ($sql); 
    $menge = mysql_num_rows($result);
    if($row = mysql_fetch_object($result))


    "2"
    $zeit_sek = $tmestamp - $row->time;
    	$time = 4 * 3600;
    	if($zeit_sek <= $time)


    "3"
    if($menge <= '3') 
    {
    echo "ok";
    }
    
    else
    {
    echo "fail";
    }


    beispiel [ich weiß so wie ich es hier unten ↓ ist kann es nich klappen!!!]
    $sql = "SELECT ". 
        "*". 
      "FROM ". 
        "account ". 
      "WHERE ". 	
        "(user '$user')"; 
    $result = mysql_query ($sql); 
    $menge = mysql_num_rows($result);
    if($row = mysql_fetch_object($result))
    {
    	$zeit_sek = $tmestamp - $row->time;
    	$time = 4 * 3600;
    	if($zeit_sek <= $time)
    {
    if($menge >= '3') 
    {
    echo "ok";
    }
    
    else
    {
    echo "fail";
    }	
    }
    else
    {
    echo "ok";
    }
    }




    Beitrag zuletzt geändert: 31.8.2011 2:29:25 von senshi-network
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Wie wär's damit?

    <?php
    $sql = "SELECT COUNT(*) AS anzahl FROM `test` WHERE UNIX_TIMESTAMP(NOW()) - 14400 <= `time` AND userid = '".$user."'";
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result)) {
        if($row['anzahl'] <= '3') {
            echo 'ok';
        }
        else {
            echo 'fail';
        }
    }
    ?>


    EDIT:

    In deinem Code ist die übrigens Angabe der aktuellen Zeit nicht vorhanden. Du willst ja die letzten 4 Stunden prüfen, was time()-14400 entspricht und nicht nur 14400 :)

    Beitrag zuletzt geändert: 31.8.2011 7:15:06 von fabo
  4. Autor dieses Themas

    senshi-network

    senshi-network hat kostenlosen Webspace.

    fabo schrieb:
    Wie wär's damit?

    <?php
    $sql = "SELECT COUNT(*) AS anzahl FROM `test` WHERE UNIX_TIMESTAMP(NOW()) - 14400 <= `time` AND userid = '".$user."'";
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result)) {
        if($row['anzahl'] <= '3') {
            echo 'ok';
        }
        else {
            echo 'fail';
        }
    }
    ?>


    EDIT:

    In deinem Code ist die übrigens Angabe der aktuellen Zeit nicht vorhanden. Du willst ja die letzten 4 Stunden prüfen, was time()-14400 entspricht und nicht nur 14400 :)


    doch das wird mit der variable $tmestamp an ein anderen script weiter geleitet

    inhalt von time.php
    <?php
    
    $timeserver = "ptbtime1.ptb.de";
    
    $timercvd = query_time_server($timeserver,37);
    
    if (!$timercvd[1])
    { 
      $timevalue = bin2hex ($timercvd[0]);
      $timevalue = abs (HexDec('7fffffff') - HexDec($timevalue) - HexDec('7fffffff')) ;
      $tmestamp = $timevalue - 2208988800; # convert to UNIX epoch time stamp
      $datum = date("Y-m-d (D) H:i:s",$tmestamp /*- date("Z",$tmestamp)*/); /* incl time zone offset */
      $doy = (date("z",$tmestamp)+1);
    }
    
    function query_time_server ($timeserver, $socket)
    {
        $fp = fsockopen($timeserver,$socket,$err,$errstr,3);
        if ($fp) {
            fputs($fp,"\n");
            $timevalue = fread($fp,49);
            fclose($fp); # close the connection
        } else {
            $timevalue = " ";
        }
    
        $ret = array();
        $ret[] = $timevalue;
        $ret[] = $err;     
        $ret[] = $errstr;  
          return($ret);
    }
    ?>


    Beitrag zuletzt geändert: 31.8.2011 19:27:37 von senshi-network
  5. Okay, war etwas früh. Juckt aber nicht, weil es mit meinem Script auch ohne gesehen sollte.

    Alternativ kannst du an Stelle von UNIX_TIMESTAMP(NOW()) auch $timestamp benutzen. Der Effekt ist der selbe.
  6. Autor dieses Themas

    senshi-network

    senshi-network hat kostenlosen Webspace.

    es funktioniert alles und ich weiß das ich nur UNIX_TIMESTAMP(NOW() mit $timestamp erstzen muss ...
    danke für deine schnelle antwort und hilfe!!!
  7. 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!