Willkommen in der Webstatt
User-1 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?
User-2 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

User-1 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 ,.

User-3 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. xyz-48n 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.

User-1 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?

User-4 am 20.01.08 19:44

warum nicht letzte Aktivität in der Session speichern?

User-1 am 20.01.08 20:02

stimmt xyz-161 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