Sessions? Wozu die Sessionid?

dobi1989 hat gesagt.:
Habt ihr mich jetzt alle aufgegeben?

Mit freundlichen Grüßen

Markus Dobmann
Nee, leider muss ich ab und zu auch mal was geschäftliches skripten :D

PHP:
header("Location: index.php?show=login&loginshow=1&".SID);
So sollte es funktionieren.
Kappt der Server die ID, dann sind dennoch die Werte vorhanden.
Macht ers über Cookie, dann sowieso.
Ist alles deaktiviert, dann ist die SID sichtbar.

Kannst das ja mal mit
PHP:
echo SID;
testen.

Zu deiner logout.php:
Zerstöre vor dem Destroy der Session auch den Inhalt, sonst wird dieser erst beim wiederholten Aufruf endgültig gelöscht.
PHP:
<?php
session_start();
session_unset();
session_destroy();
header("Location: index.php");
?>
 
Das heißt also:

Wenn ich die Session per "sid=..." übergeben dann muss ich sie mit einem "$_GET[...]"; überprüfen und nicht mit $_SESSION[...]?

Mit freundlichen Grüßen

Markus Dobmann
 
Das heisst genau was ich gesagt hab. Um auf die Daten der richtigen Session zuzugreifen musst Du die uebergebene SessionID vor session_start() mittels session_id() setzen. Wie oben gezeigt.
Ansonsten wuerde jedesmal eine leere Session gestartet werden.
So wie Dein Code jetzt ist funktioniert er wahrscheinlich auch vernuenftig, aber aber mit Session-Cookies. Wenn Du Cookies im Browser deaktivierst wird da wohl nicht vernuenftiges mehr bei rumkommen da Du die SessionID nur uebergibst aber nicht wieder setzt.
 
Ok, Danke.
Ich glaube damit wäre meine Frage jetzt geklärt.
Danke an alle!

Mit freundlichen Grüßen

Markus Dobmann
 
reptiler beschreibt den worst-case-fall:
Im Browser wurden Cookies nicht akzeptiert und der Server unterstützt weder --enable-trans-sid noch --use-trans-sid.

Ein sehr seltener Fall.Wenn du deinen Server/Hoster in nächster Zeit nicht ändern willst, kannst du auch den bequemen Weg ohne die _GET, _POST oder _REQUEST-Variante nehmen.
 
Also im Normalfall....
soll ich dann doch die sessionvariante mit cookies nehmen?
Der Webmaster von heinzelzwerg.de nimmt auch die Session-ID aus dem Browser und nicht aus den Cookies, hat aber den Webspace beim gleichen Anbieter wie ich...

Mit freundlichen Grüßen

Markus Dobmann
 
Naja, so Worst-Case find ich das garnicht wenn der Browser keine Cookies akzeptiert.
Und fuer genau diesen Fall ist ja meine Loesung. Mit den Einstellungen in der php.ini fuer Session-Cookies hab ich noch nicht rumgespielt, aber bin einfach mal davon ausgegangen, dass auch diese den Effekt einer jeweils neuen SessionID hervorrufen.
Beim Scripten meiner Seite hab ich natuerlich intensiv rumgetestet wenn man im Browser Cookies aktiviert und deaktiviert hat, und mir ist dabei aufgefallen, dass ich jedesmal eine neue SessionID hatte wenn ich Cookies deaktiviert hatte und nicht wie oben beschrieben vorgegangen bin.
 
dobi1989 hat gesagt.:
Also im Normalfall....
soll ich dann doch die sessionvariante mit cookies nehmen?
Der Webmaster von heinzelzwerg.de nimmt auch die Session-ID aus dem Browser und nicht aus den Cookies, hat aber den Webspace beim gleichen Anbieter wie ich...

Mit freundlichen Grüßen

Markus Dobmann
Du koenntest eine Weiche einbauen die Ueberprueft ob Cookies akzeptiert werden.
Hab ich auf meiner Website auch.
Siehe hierzu Ueberpruefung con Cookies und JavaScript mit PHP
 
hmmm...
Das verwirrt mich jetzt irgendwie!
Ich hab jetzt keine Plan mehr was ich jetzt nehmen soll.
Cookies, Sessions, ...

Mit freundlichen Grüßen

Markus Dobmann
 
Wie gesagt, Sessions verwenden ja in der Regel auch Cookies.
Daher find ich es schon wichtig dem User die Moeglichkeit zu geben auch ohne Cookies arbeiten zu koennen indem man entweder immer mit Uebergabe der SessionID im URL arbeitet, oder aber wie ich im Tutorial beschreibe ein Script testen laesst ob Cookies akzeptiert werden und dann dementsprechend handelt.
Vom Scripting her duerfte aber wohl die 1. Variante (SessionID immer im URL uebergeben) wohl die einfachere sein.
 
Zurück