Nach 30min Inaktivität automatisch eine bestimmte Datei öffnen

Vielleicht ist auch die Reihenfolge vertauscht, ich bin mir da nicht so sicher, also evtl. mal NOW() und lastvisit tauschen.

Evtl. auch mal versuchen, die 0 in Anführungszeichen zu setzen, auch wenn ich mir nicht vorstellen kann, dass er das ohne Fehlermeldung hinnehmen würde, wenn es so nicht geht.

Und evtl. auch mal eine Ausgabe mit [phpf]mysql_affected_rows[/phpf] machen
 
habs mal so versucht.... geht aber auch nicht :(
was mach ich falsch?! ich komme einfach nicht drauf...
PHP:
<table border="1" cellspacing="0" cellpadding="3" class="blue" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF">
	<tr class="fett">
		<td>Benutzer online:</td>
	</tr>
         <tr>
		<td colspan="8"></td>
	</tr>
	     <?
	     include ("login/config/db.php");
              // Nach bestimmter Zeit online auf 0 setzen!
              mysql_query("UPDATE zugriff SET online=0 WHERE (UNIX_TIMESTAMP()-1800)>lastvisit;");

	     $query = "SELECT name FROM zugriff WHERE online=1 ORDER BY id ASC";
	     $result = mysql_query($query);
              ?>
	<tr>
		<td><? // Schleife um den Inhalt der Tabelle auszugeben
	     	       while ($line = mysql_fetch_array($result)) {
                        echo $line['name']." "; }
                     ?>
                 </td>
	</tr>
	     <?
	     mysql_free_result($result);
	     mysql_close();
	     ?>
</table>
 
Meines Wissens ist MySQLs TIMESTAMP kein UNIX-TIMESTAMP.
Es gibt aber in MySQL eine Funktion, frag' mich jetzt nicht, wie die heißt, die Dir das in einen UNIX-TIMESTAMP umwandelt. Ich kann mir vorstellen, das es auf diesem Weg leichter ist, als mit den tausend Zeit-Funktionen, die ich oben verwendet habe.
Vielleicht testet Du den WHERE-Teil ja auch besser erstmal mit einem SELECT, also
Code:
SELECT * FROM zugriff WHERE ...
Und gibst das aus, bis es klappt, dass er Dir alle abgelaufenen Logins anzeigt.
Ist denke ich leichter zu debuggen, als mit dem UPDATE ohne Ausgabe.
 
Zurück