Moin!
kannst du mir mal bitte einen Link geben wo das nochmal erklärt wird.
Die Doku zu session_name() findest du sicherlich selbst, oder? :)
Du meinst ich solle lieber die in der php.ini festgelegte Variable für die Session verwenden? Hab ich das richtig verstanden?
Wenn du nichts selbst definierst, verwendest du automatisch den Wert der php.ini. Damit kriegst du die Session-Funktionen alle automatisch, brauchst im Prinzip nur session_start().
Wenn du, aus welchen Gründen auch immer, z.B. aus optischen Gründen, die standardmäßige Vorgabe "PHPSESSID" oder die ggf. von deinem Provider geänderte Vorgabe nicht leiden magst, kannst du als Parametername (der dann bei automatischer Session-ID-Inkludierung in Links, in Formularen und als Cookie-Parametername verwendet wird) durch Aufruf der Funktion session_name() jeden beliebigen anderen String verwenden - beispielsweise "ShopSession".
Wenn du das durch explizites Aufrufen von session_name() tust, hast du das Problem, dass du das _immer_ vor dem Aufruf von session_start() durchführen mußt. Ist simpel, wenn du ein zentrales Session-Skript in allen anderen Skripten includest, kann aber gerne mal vergessen werden. In diesem Fall aber wirst du dich bei der manuellen Generierung von Session-IDs in Links wohl dran erinnern und 'href="...?ShopSession='.session_id().'"' schreiben.
Wenn du das NICHT tust, bist du abhängig von der Einstellung in der php.ini, die du eventuell nicht verändern kannst. Wenn du dann davon ausgehst, dass diese Einstellung auf allen Hosts dieser Welt konstant "PHPSESSID" ist, und deshalb statisch diesen String in deine Links schreibst, kriegst du Probleme, wenn dein Code auf einem Server laufen soll, der unerwartet doch eine andere Einstellung gewählt hat.
Deshalb: Zur manuellen Integration der Session-ID in einen Link immer die Konstante SID verwenden. Diese Konstante enthält einen Leerstring, wenn PHP die Session-ID im Cookie entdeckt hat. Zur Integration eines versteckten Formularfeldes immer die Funktionsergebnisse von session_id() und (wichtig!) session_name() verwenden.
- Sven Rautenberg
"Love your nation - respect the others."