| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Sessions zeitabhänig destroyen? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige So hab mal was gegoolt aber nix gefunden. Komisch eig. Nun aber zu meiner Frage, kann man session die ...
![]() |
| | #1 (permalink) |
| Anzeige So hab mal was gegoolt aber nix gefunden. Komisch eig. Nun aber zu meiner Frage, kann man session die mit session_start() angelegt wurden nach einer bestimmten Zeit zerstören lassen? von mir aus ein tag oder so oder 3 std.... Als ich will die sessions benutzen um einen user einzuloggen. Jedoch verlässt er die Seite soll er ausgeloggt werden und nicht mehr inner Online Spalte angezeigt werden... wäre cool wenn mir da jmd. mal helfen könnte. | |
| | |
| | #2 (permalink) |
| Senior Member | mmh du könntest die letzte aktivität des counters mit schreiben also wenn der user eine seite aufruft setzt du einen timestamp und bei der ausgabe überprüfst wie alt der timestamp ist ->älter als 10min ->user wahrscheinlich nicht online auf seite ->wird nicht mehr als online gelistet kannst dafür einen extra cookie nutzn oder einfacher schreibst es mit in die session rein
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 14.04.06 ![]() Likes: 4 | Die Sessions werden nach einer bestimmten Zeit automatisch gelöscht. Nach wie vielen Sekunden der Inaktivität der Server aufräumen soll, ist in der php.ini festgelegt (session.gc_maxlifetime). Wenn du eine Session manuell beenden willst (z.B. Abmeldung) kannst du session_destroy() benutzen. |
| | |
| | #4 (permalink) |
| Themenstarter | Joar ich hab das mal so ausprobiert, wie folgt (nur wichtige programmzeilen): index.php: PHP-Code: PHP-Code: Wie kann ich das so machen, bzw. überprüfen, und dann den User austragen aus der Onlinestatistik? |
| | |
| | #5 (permalink) |
| Moderator ![]() Registriert seit: 19.06.06 ![]() ![]() ![]() Likes: 52 | da der server genau dieses nicht mitbekommt geht das nur über eine zeitabfrage wie weiter oben erwähnt. bei mir mache ich das immer so, die index.php immer in der db nach dem timestamp der letzten aktivität guckt und sollte die bei jemandem einen bestimmten wert überschreiten, dann wird der aus der db entfernt und somit auch nicht mehr angezeigt. du könntest vielleicht auch regelmäßig die seite automatisch neu laden lassen. wenn der browser geschlossen wurde funktioniert der reload nicht mehr und du bekommst das indirekt mit. |
| | |
| | #6 (permalink) |
| Themenstarter | Also zum verständnis in der DB nen timestamp einfügen.. diesen dann übrprüfen, ob der timestamp größer ist als beisspielswiese ne std. Dann soller den User aus der DB schmeißen? Aber das geht ja eig. auch nur wenn der User den Reload betätigt oder?! Weil ich das ja abhängig von der Userid mach die in die Session eingetragen wurde. Wie könnte ich denn den autom. Reload hervorrufen, und dann überprüfen, was du bereits sagtest lightsaver? |
| | |
| | #7 (permalink) |
| Senior Member | warum automatischer reload? sobald IRGENDJEMAND auf deine seite geht wird das php scrip eh mit geladen und das prüft dann ob der timestamp grö0er als ne stunde is schmeist das raus und weite runten im script ->wird dann die noch vorhanden user ausgegeben
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world |
| | |
| | #8 (permalink) |
| Moderator ![]() Registriert seit: 19.06.06 ![]() ![]() ![]() Likes: 52 | naja, die überprüfung wegen den timestamps kann ja jeder machen. beim aufruf der index.php guckt diese einfach in der db nach allen einträgen mit timestamp > 60 min (zum beispiel) da brauchst du die id ja nicht. ansonsten hast du ja für jeden benutzer eine session. damit ja die id. wenn der jenige ne neue seite aufruft (falls du mehr als nur die index.php hast) oder halt die index.php nochmal aufruft, reloaded, dann ist das ja eine tätigkeit. und auf jeder dieser seiten brauchst du einfach eine funktion, die den timestamp in der db aktuallisiert. so wie du den mal eingetragen hast geht das auch hier. den reload könntest du z.b. über ein meta refresh (content dann einfach weglassen) realisieren. dabei wird die index.php neu geladen und somit auch alle funktionen also auch das update des timestamp durchgeführt. @chakky: der reload war nur eine idee, um user noch als online zu erkennen, auch wenn die nichts tun. je nachdem, wie man die zeitspanne für den reload wählt (z.b. 1 min oder so) kann man die online-anzeige recht aktuell halten. wer aktiv ist wird wohl unter diesem wert bleiben und damit wird die seite nicht neu geladen (wert muss natürlich angepasst werden zum inhalt der seite und zur erwarteten aktivität), aber man erkennt, ob der browser noch offen ist. genau das ist nämlich das problem. wenn er eine aktivität macht und dann direkt den browser schließt wird er noch die ganze zeit als online geführt bis der timestamp abgelaufen ist. und genau in diese richtung ging ja auch die frage |
| | |
| | #9 (permalink) |
| Senior Member | mmh da sehe ich das problem beim reload zum bsp einer eingabe per formular und abschicken per post wenn da ein reload gemacht wird kommt ja die nette meldung ob du die post sachen nochmal senden willst oder nicht man könnte dann maximal mit einen iframe machen das die anzeige nur neu geladen wird
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world |
| | |
| | #10 (permalink) |
| Moderator ![]() Registriert seit: 19.06.06 ![]() ![]() ![]() Likes: 52 | naja, war auch nur ein vorschlag der natürlich nur abhängig von der seite realisiert werden kann - oder ebend nicht |
| | |
| | #11 (permalink) |
| Themenstarter | ich glaub ich habe es ^^ Also über meine index.php wird alles eingebunden, sprich sie wird immer auch bei Seitenwechsel aufgerufen. index.php (Waren noch kleine Fehler drinne) PHP-Code: |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHP => Sessions | TheEvilOne | (Web-) Design und webbasierte Sprachen | 15 | 20.10.04 10:52 |
| PHP => Sessions | TheEvilOne | Code Kitchen | 15 | 20.10.04 10:52 |
| problem mit php sessions | matrixII | Code Kitchen | 6 | 22.02.04 19:20 |
| sessions benutzen für loginbereich | HellKnight | (Web-) Design und webbasierte Sprachen | 2 | 19.02.04 21:16 |
| Sessions in PHP? | mido | (Web-) Design und webbasierte Sprachen | 4 | 01.01.02 19:14 |