Übergeben von $_SESSION-Variablen

duke-skelington hat gesagt.:
Eine Session ist theoretisch nichst anderes wie eine Variable in welcher Du Werte speichern kannst. Die Werte werden in einem sogenannten Session Cookie entweder in einer Datenbank oder auf dem Server in einem bestimmten Ordner abgelegt (php.ini -> session_handling). Du brauchst Dich darum aber überhaupt nicht kümmern. Nutze diese einfach übergreifend von script zu script - egal wann. Die Session ist solange vorhanden, bis sie entweder von Dir terminiert wird oder alle Browserfenster geschlossen werden. Also --> temporär
Aber muss man beim programmieren nicht beide Fälle beachten? Oder funktioniert das alles automatisch?
 
Zuletzt bearbeitet:
Cookies muss man setzen (mit setcookie()), Sessions werden automatisch mit session_start() gesetzt ob per Cookie oder URL
 
Zuletzt bearbeitet:
Wie würde dieser Cookie dann aussehen? setcookie(PHPSESSID,session_id()) ?
Heisst dass, das auf der Folgeseite dann alle Sessionvariable ohne session_start vorhanden sind?
 
Nein, wie duke-skelington schon geschrieben hat gibt es einen Unterschied zwischen Sessioncookies und normalen cookies
 
Sorry, aber mir ist immer noch nicht klar: Was muss ich tun, damit ich die Session_ID nicht an die Url hängen muss ? Mal abgesehen von dem Problem dass das evtl nicht gehen könnte wenn Cookies nicht akteptiert werden.
 
Ich setze ein kleines Script ein welches beim Verbindungsaufbau feststellt ob Cookies akzeptiert werden oder nicht, dementsprechend entscheidet das Script dann ob die Session ueber Cookies laeuft oder ob die SessionID im URL uebergeben wird.
Wenn sie ueber Cookies laeuft brauchst Du Dich dank session_start() nicht selbst um die Session-Cookies kuemmern.
Falls Du per setcookie() einen Session-Cookie setzen wolltest wuerde der Aufruf glaub ich so aussehen:
PHP:
setcookie(session_name(),session_id(),0);
 
Um den Sinn ging es dabei jetzt auch nicht, sondern lediglich um die theoretische Moeglichkeit einen Session-Cookie ueber setcookie() zu setzen.
Dass das wenig Sinn macht ist mir schon klar, setcookie() sollte lediglich zum setzen "normaler" Cookies genutzt werden und die Session-Cookies session_start() ueberlassen.
 
Danke für die Erklärungen, das mit den Cookies hab ich nun begriffen.
Was mir nicht klar ist: ich bin immer davon ausgegangen, daß session_destroy() einerseits die $_SESSION-Variablen, andrerseits die session_id löscht. Durch rumprobieren stelle ich dann aber fest, dass die session_id verhalten bleibt.
Gibt es denn eine Möglichkeit, auch die session_id mitzulöschen?
 
Zurück