session_id löschen wenn Browser geschlossen wird

ich schick dir im anhang gleich mein mehr oder weniger kompletten login

PS: er läst mich einfach nicht mehr einloggen es giebt keinen richtigen fehler aus!
und ich habe auch langsam die übersicht verlohren!!
 

Anhänge

Zuletzt bearbeitet:
Oki...
Ich schau mal nach, kann nen Momentchen dauern...

*in dem stillen Coding-Keller verkriech* ^^

[EDIT]

Mir fällt auf, dass es sich um nen fertig Skript handelt...
Die logische Aufteilung der Funktionen und so auf den Seiten is mir dabei nen bissl schleierhaft, da ich, seid ich mit PHP arbeite, das handling über eine index.php bevorzuge, wodurch ich wesentlich weniger Probleme mit session_start() und db_connect() habe...

Mach dir mal die Mühe und arbeite dieses Tut durch, bzw lese es und kopier dir das nötigste, um das was du dir da fertig besorgt hast, etwas übersichtlicher und praktischer Strukturiert selber anzufangen: http://www.tutorials.de/forum/php-tutorials/289098-login-mit-php-und-mysql.html#post1492136

Ich denke, dann wirst du auch weniger Probleme damit haben ;)
 
Zuletzt bearbeitet:
Noch Abschließend ergänzend...

Wenn du selber ncih wirklich vor hast groß php zu lernen, dann geb mir bescheid, wir sprechen das genauer ab, was du vorhast und ich bastel dir was fürn kleines Taschengeld fertig ;)
 
aller besten dank für deine Hilfe! ist echt voll super!
mal ne frage. du kommst nicht per Zufall aus der Schweiz?...
denn ich würde sehr gerne mehr php lernen aber für Abend Kurse habe ich zuwenig zeit!
ich könnte aber gut online Kurse machen! aber das Problem ist das wenn du nicht in der Schweiz wohnst kann ich sehr schlecht einzahlen!! da ich kein € Konto habe!!

ich weiss das dieses script von mir ist! aber köntest du mir evt. trozdem sagen wie ich es zum laufenbringe?
ich hocke nun schon über 1 Monat daran:(

PS: dieses Tut das du mir vorgeschlagenhast! schau mal meine check_user.php an;)
 
Zuletzt bearbeitet:
Der Threadstarter wollte doch wissen, wie die Session für ungültig gesetzt wird, wenn der Browser geschlossen wird. Das ist mit PHP nicht möglich.
Es bräuchte dafür eine clientseitige Sprache. Wie und ob das z.B. mit Javascript möglich wäre, no idea. Aber ich wollt nur darauf hinweisen, dass die gezeigten Beispiele keine Session auf dem Server löschen, sobald der Benutzer den Browser schliesst ;)
 
kann mir jemand sagen wie hier die zeit gehändelt werden muss?
60*30 wie lange soll das sein?



PHP:
// User ohne Autologin ausloggen 
$sql = "UPDATE 
users 
SET 
UserSession = NULL, 
IP = NULL 
WHERE 
'".(time()-(60*30))."' > Letzte_Aktion  //Hier wird festgelegt wie lange ein User ohne Aktion als online gilt, bevor die session zerstört wird! 
"; 
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
 
Falsch, falsch, falsch...
PHP Rechnet in Millisekunden oder so...
Die Zeit angabe müssten nur wenige Minuten sein... Jedenfalls weniger als ne halbe Stunde...

@ Psy: Bin leider nicht aus der Schweiz... Spiele mit dem Gedanken entsprechende Kurse zu geben, aber die einfache Hilfe gibts auch hier umsonst ;)

@Davor...
Dise Prozedur IST mit PHP möglich...
Sonst könnte ich es ja wohl schlecht auf meiner Web-Site so machen, oder!?
Der Grundgedanke ist ganz simpel... Ich prüfe bei JEDEN Aufruf der Seite... Also egal wer wann wie wo was aufruft von der Site... SÄMTLICHE Einträge in der DB... Und so kann ich die Sessions zerstören von Usern, die zulange nimma da sind ;)
 
Hi,

Falsch, falsch, falsch...
PHP Rechnet in Millisekunden oder so...

Blödsinn. time() liefert die Anzahl Sekunden seit dem 1.1.1970 0:00 Uhr zurück. Wenn Du davon 60*30 abziehst, ziehst Du eine halbe Stunde ab.

@Davor...
Dise Prozedur IST mit PHP möglich...

Ist sie nicht. Denn:

Und so kann ich die Sessions zerstören von Usern, die zulange nimma da sind

Was aber nunmal nicht dasselbe ist, wie "wenn der User den Browser schließt". Das kriegt der Server nämlich gar nicht mit. Der weiß zudem nicht einmal, dass Du überhaupt einen Browser hast.

Sei mir nicht böse: Es ist ja keine Schande, nach einem Jahr noch nicht alles zu wissen, aber vielleicht sollte man den Mund dann auch nicht immer ganz so voll nehmen...

LG
 
Zitat:
Falsch, falsch, falsch...
PHP Rechnet in Millisekunden oder so...
Blödsinn. time() liefert die Anzahl Sekunden seit dem 1.1.1970 0:00 Uhr zurück. Wenn Du davon 60*30 abziehst, ziehst Du eine halbe Stunde ab.
Der Skript verursacht bei mir nen Session-TimeOut in weniger als 30 Minuten...
Deiner Argumentation nach zu urteilen, hast du Recht, aber irgendwie passt da zeitlich dann irgendwas nich =)

Zitat:
@Davor...
Dise Prozedur IST mit PHP möglich...
Ist sie nicht. Denn:

Zitat:
Und so kann ich die Sessions zerstören von Usern, die zulange nimma da sind
Was aber nunmal nicht dasselbe ist, wie "wenn der User den Browser schließt". Das kriegt der Server nämlich gar nicht mit. Der weiß zudem nicht einmal, dass Du überhaupt einen Browser hast.

Richtig, der Server kennt keinen Browser...
Aber der Server kennt die in der DB gespeicherten Zugriffsdaten, des Users... Also IP, SessionID und Zeitpunkt der letzten Aktion...
Durch den von mir geposteten Skript erzielt, das die Session eines Users zerstört wird, wenn dieser eine gewisse Zeit nicht mehr aktiv durch die Site surft...
Diese Inaktivität kann darauf zurückgeführt werden, dass der User den Browser geschlossen hat ohne sich ordentlich auszuloggen...
Und deswegen sehe ich meine Aussage, dass dies ein endsprechendes Handling ist, als gerechtfertigt...
Man mag es wohl eher als Work-Around bezeichnen oder so...
Aber das Prinzip is wohl klar und der Zweck is so ziemlich der Gleiche...

Es geht schließlich darum, einen User NACHTRÄGLICH auszuloggen...
Ob nun, wenn dieser den Browser schließt oder wenn er nur lange genug inaktiv ist, is doch relativ wurst ^^

Sei mir nicht böse: Es ist ja keine Schande, nach einem Jahr noch nicht alles zu wissen, aber vielleicht sollte man den Mund dann auch nicht immer ganz so voll nehmen...

Nehm ich dir nich krumm... Haste wohl auch recht mit...
Zu meiner Verteidigung:
Ich versuche mein "Nicht-Wissen" mit der Logik auszugleichen, die sich aus meinem Wissen ergibt...
Was die Zeit in PHP betrifft hab ich ja oben bereits erläutert ;)

PS: Wenn sich keiner aus dem Fenster lehnt und den Mund etwas zu voll nehmen würde, würde es doch kaum ordentliche Diskussionen geben, oder!? ^^
 
Zurück