Online status überprüfen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bestimmten zeitpunkt
code
dank
datei
datenbank
einleiten
eintragen
feststelle
form
gott
hilfe
hintergrund
integrieren
interaktion
minute
null
regel
technische angelegenheiten
type
zeitpunkt
-
Hallo Leute,
gibt es eine Möglichkeit zu überprüfen in eine Datenbank einzutragen, wann ein Benutzer
(z.B im Userbereich eines Forums oder eines chats) offline gegangen ist und nicht den Logout Butoon verwendet hat.
Also kann man per php feststellen, wann die seite geschlossen wurde und das eintragen?
Ich könnte mir vostellen, dass man zB jede Minute etwas von der seite eintragen lässt, aber ich weiß
nicht genau wie ich das machen sollte. Es wäre gut, wenn mir jemand dabei helfen könnte. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
allein per php geht das nicht.
Aber du könntest per AJAX bei onunload einen Request auf ein PHP-Script machen, welches den User dann ausloggt! -
Oh Gott....
AJAX kann ich gar nicht. Kannst du mir vlt den code, den ich integrieren kann
(und am besten ein beispiel) schicken? -
HTML:
<html> <head> <script src="script.js" type="text/javascript"></script> </head> <body onunload="user_logout()"> ...
script.js:
function create_ajax() { var req = null; try{ req = new XMLHttpRequest(); } catch (ms){ try{ req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (nonms){ try{ req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed){ req = null; } } } return req; } function user_logout() { var req = create_ajax(); if (req == null) alert("Es ist ein Fehler beim Einleiten des AJAX-Requests eingetreten!"); req.open("GET", 'logout.php', true); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); req.send(null); }
Ist ungetestet, müsste aber gehen.
Dabei muss die Logout-Seite die Datei logout.php sein! -
Wenn die Seite verlassen wird, wird die Seite logout.php im Hintergrund aufgerufen!
-
JavaScript sollte man nur verwenden, um die Interaktion mit dem User zu vereinfachen und nicht für technische Angelegenheiten. In der Regel löst man es so, dass man nur die User anzeigt, die in einem bestimmten Zeitpunkt (zB 5 Minuten) aktiv waren. Das musst lediglich beim Seitenaufruf in der Datenbank speichern und entsprechend auslesen.
-
Okay. Ich habs kapiert und dadurch schon ein Problem weniger^^
Danke für die Hilfe^^
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage