Timestamp-Problem

CarpeNoctem

Grünschnabel
Hallo Leute

Werde einfach nicht schlauer, wieso funktioniert das nicht? Es werden, obwohl innerhalb der letzten 10Minuten bereits ein Eintrag gemacht wurde, INSERTs gemacht.

PHP:
$tenmins = time() - 600;
$visits=mysql_query("select * from visitlog WHERE hid = '$nid' and vid = '$SESSION_ID'");
while ($row=mysql_fetch_array($visits))
  {
     $vactions=$row["action"];
}
		if($nid != $SESSION_ID && $vactions < time()-600){
	$thistime = time(now);
	mysql_query("INSERT INTO visitlog (hmember, hid, vmember, vid, vsex, action) VALUES ('$uvorname $uname', '$nid', '$SESSION_Vorname $SESSION_Name', '$SESSION_ID', '$SESSION_Geschlecht', now())")  or die("Fehler: ". mysql_error());
		}

Danke für die Hilfe.
 
ich denke, es müsste in der while-Schleife heißen:
PHP:
$vactions = max($vactions, $row["action"]);

um die Zeit des letzten Zugriffs zu bekommen...

dies kann übrigens auch direkt über ein Query abgefragt werden:

PHP:
$result = mysql_query("SELECT MAX(action) AS lastaction FROM visitlog WHERE hid = '$nid' and vid = '$SESSION_ID'");
$row=mysql_fetch_array($result)
$vactions=$row["lastaction"];

EDIT: was wahrscheinlich das eigentliche problem ist, ist der aufruf der SQL-now()-funktion im 2. Query... du hast doch extra vorher die Variable $thistime definiert, also solltest du die auch einfach dort einsetzen...
 
Zuletzt bearbeitet:
Zurück