Willkommen in der Webstatt Zum Webstatt Blog und Stories
Bonze am 13.01.08 20:38

###soll alle die länger als xmin keine aktion ausgeführt haben ausgeloggen,.
$query = mysql_query("SELECT * FROM bonze_login") or die(mysql_error());
while($row = mysql_fetch_assoc($query)) {
if((time() - $row['last_aktivity']) > 60*30)
{
$sql = "UPDATE `bonze_login` SET
`usersession` = 'NULL'
WHERE userid = '".$row['userid']."'";

$query = mysql_query($sql) OR die(mysql_error());

}
}
######


Hier drin ist ein fehler welche diesen fehler verursacht,.
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
die Daten der Mysql abfrage stimmen jedoch , jemand ne idee?!

netcup.de Warum gibt es hier Werbung?
Snake am 13.01.08 21:11

Du überschreibst in deiner Schleife das $query.

Beim 2. Schleifendurchlauf versucht php also die Rückgabe deines UPDATE-querys zu fetchen. Das geht natürlich nicht.

Also einfach das 2. Query nicht in eine Variable schreiben

Bonze am 13.01.08 21:26

ok danke so geht es ,
allerding ist mir aufgefallen ich hab nen denkfehler, dieser code sollte den User automatisch nach einer gewissen Zeit, in der er nichts getan hat ausloggen , jetzt logge ich mich ein und werde direkt wieder ausgeloggt, bzw es loggt mich gar nich erst ein ,.

CIX88 am 16.01.08 17:47

Vielleicht hast du die Möglich einen Cronjob einzusetzen.
Aber im Prinzip brauchst du diese komische Variante gar nicht.

Wenn der User eingeloggt ist (wird ja sicherlich mit Session laufen) wird bei jedem Klick die Session-Time aktualisiert. Dann werden per Cronjob alle Einträge gekillt, die einen bestimmten Zeitabstand überschritten haben - fertig.

Oder wenn du kein Cronjob hast, dann vor dem Update prüfen ob ein gewisses Zeitlimit abgelaufen ist, falls ja werden die Session-Daten gekillt und der Eintrag in der DB gelöscht.

Bonze am 20.01.08 19:41

aha, und wie sollte ich das deiner meinung nach am betsten lösen?
-mysqlabfrage , wann die letzte akltion war
-if, prüfen ob die letzte aktivität schonx minuten her ist
-wenn ja , session zerstören und session au db löschen

oder wie?

nuit nuit am 20.01.08 19:44

warum nicht letzte Aktivität in der Session speichern?

Bonze am 20.01.08 20:02

stimmt nuit so hab ichs ja auch, aber wie mache ich dann weiter?
wenn jetzt z.B. jemand eingeloggt ist , und macht dann de browser zu, steht er immernoch in der db, diese abfrage fehlt mir auch noch, die möchte ich mit dieser hier verbinden, hab aber noch nich so den plan davon , wie ich es machen muss,.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt