|
You last visited: Today at 14:04
Advertisement
Session Timer beenden, wenn Seite verlassen wird
Discussion on Session Timer beenden, wenn Seite verlassen wird within the Web Development forum part of the Coders Den category.
04/03/2018, 09:48
|
#1
|
elite*gold: 0
Join Date: Mar 2011
Posts: 418
Received Thanks: 17
|
Session Timer beenden, wenn Seite verlassen wird
Hallo,
ich wollte in meiner Homepage etwas einstellen. Unzwar sobald ein Besucher ein Userprofil besucht, soll ein Timer gestartet werden. Sobald er verlässt soll ermittelt werden, wie lange er auf der Seite war und dies soll dann in die DB eingetragen werden. Mein Problem ist nur noch, wie ich es mache das ich den Timer beende, falls die Seite verlassen wurde.
PHP Code:
if(!isset($_SESSION['timer'])){ //Set the current timestamp. $_SESSION['timer'] = time(); } //Get the current timestamp. $now = time(); //Calculate how many seconds have passed. $timeSince = $now - $_SESSION['timer']; //Print out the result. echo "$timeSince seconds have passed."; if(unset($_SESSION['timer'])) { $uid = 20; if($aufruf = $pdo->prepare(" INSERT INTO profil_aufrufe (user_id, aufrufer_id, stay) SELECT :user, :aufrufer, :stay FROM user WHERE EXISTS ( SELECT id FROM user WHERE id = :user) AND NOT EXISTS( SELECT user_id, aufrufer_id FROM profil_aufrufe WHERE user_id = :user AND aufrufer_id = :aufrufer) LIMIT 1;")) { $aufruf->BindParam(':user', $uid); $aufruf->BindParam(':aufrufer', $_SESSION['id']); $aufruf->BindParam(':stay', $timeSince); if(!$aufruf->execute()) { print_r($aufruf->errorInfo()); } } }
Wie ihr seht, führt der Befehl: if(unset($_SESSION['timer'])) zu einem Error:
Code:
Parse error
: syntax error, unexpected 'unset' (T_UNSET) in
C:\xampp\htdocs\flay\inhalte_statistic.php
on line
68
Wie kann ich es jetzt machen das, wenn die Seite verlassen wird, der Time beendet wird und der gespeicherte Inhalt (In meinem Fall $timeSince) in die DB geschrieben wird?
Oder wie würdet ihr es machen, um den Aufenthalt des Users herauszufinden, wie lange er auf einer Page bleibt?
|
|
|
04/03/2018, 11:23
|
#2
|
elite*gold: 0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
|
Ich würde es per Javascript in einem regelmäßigen Intervall den Server mit einem für den User und die Seite spezifischen Token anpingen und somit bestätigen, dass man noch da ist. Je kleiner das Intervall, desto genauer kannst du dann die Aufenthaltsdauer bestimmen. Alternativ kannst du auch mal Websockets anschauen, darüber hast du ebenfalls die Möglichkeit bidirektional Daten auszutauschen.
Frage ist nur wofür du das brauchst, Google Analytics und co sollten sowas eigentlich auch bieten können.
|
|
|
04/03/2018, 11:30
|
#3
|
elite*gold: 0
Join Date: Mar 2011
Posts: 418
Received Thanks: 17
|
Quote:
Originally Posted by Serraniel
Ich würde es per Javascript in einem regelmäßigen Intervall den Server mit einem für den User und die Seite spezifischen Token anpingen und somit bestätigen, dass man noch da ist. Je kleiner das Intervall, desto genauer kannst du dann die Aufenthaltsdauer bestimmen. Alternativ kannst du auch mal Websockets anschauen, darüber hast du ebenfalls die Möglichkeit bidirektional Daten auszutauschen.
Frage ist nur wofür du das brauchst, Google Analytics und co sollten sowas eigentlich auch bieten können.
|
Jeder User hat eine Statistik-Page. Da kann er sehen, wie oft ein User ihn besucht hat und wie lange er drauf war (User werden natürlich anonym angezeigt). Ebenso soll ein Durchschnitt gerechnet wie lange sich die User auf der Seite des Users aufhalten. Deswegen brauche ich das und danke für den Tipp^^
|
|
|
 |
Similar Threads
|
C# Beim Beenden anderen Prozess beenden
03/14/2015 - .NET Languages - 4 Replies
Hallo Gemeinde,
wieder mal eine Frage, die ich mir auch durch Google nicht wirklich beantworten konnte:
Ich möchte einen kleinen Gamewatcher für ein Minigame machen. Dabei geht es darum, sobald ein gewisser Prozess offen ist, eine Adresse verändert wurde o.ä., das Spiel zu beenden. Das klappt auch wunderbar, nur - was ist, wenn jemand das Ding via Taskmanager tötet?
An dieser Stelle noch - die Console ist versteckt, also nur via Taskmanager sichtbar.
Hatte mal die Idee, vielleicht...
|
[RELEASE]Quest Client Beenden - Timer
01/08/2013 - Metin2 PServer Guides & Strategies - 17 Replies
Mir kam gestern eine glorreiche Idee die für größere Server einen
ziemlichen nutzen haben kann zumindest für die Spieler.
Mit dieser Quest lässt sich der PC Herunterfahren oder das Spiel beenden
ab einer Eingabe die man in Sekunden eingibt. Nach den eingegeben Sekunden
erhält man die Info wieviele Minuten man angegeben hat und wenn man dies Bestätigt
beginnt der Timer.
Wer sie nutzen möchte nutzt sie wer nicht, der solls lassen.
Achtet bitte nebenbei nochmal auf die Tababstände!
|
hack beenden ohne warrock zu beenden?
03/25/2010 - WarRock - 7 Replies
kann man eigentlich hacks beenden ohne warrock dabei abzu schalten wenn ja wie?
das nervt manchmal wenn man einen hack anhat und ihn nicht mehr an haben will aber dann habe ich kein prem usw also ,weil die meisten hast für f2p sind und keinen 6ten slot haben :D
|
[How to]nicht sd2 verlassen wenn inventar voll ist
07/05/2009 - Metin2 Guides & Templates - 18 Replies
Also Ich weiss nicht ob schon Jemand so einen Thread erstellt hat
ich zeige euch wie ihr sd2 nicht verlassen müsst wenn ihr ein volles inventar habt
ACHTUNG ES KLAPPT UNTER VOLGENDEN BEDINGUNGEN:
ihr braucht 2 gilden
-eure gilde
-die gilde wo die sachen hin sollen (am besten neben acc)
|
All times are GMT +1. The time now is 14:04.
|
|