Andreas: Probleme mit Sessions ohne Cookies

Beitrag lesen

Hallo!

Wahrscheinlich ist es schon etwas spät aber irgendwie reden wir glaub ich ein bisschen aneinander vorbei. Folgendes ist mir gerade selbst aufgefallen:

Folgendes Script habe ich gestestet:

<?
ini_set("session.use_cookies", "off");
#session_name("SID");
session_start();
echo "SID $SID<br>";
echo "PHPSESSID $PHPSESSID";
?> <a href="<? echo "$PHP_SELF$PHPSESSID"?>">link</a>

Das komische daran, wenn ich es zum ersten mal aufrufe, steht da nichts bei echo "PHPSESSID $PHPSESSID";

Wenn Cookies aktiviert sind steht nach einmal aktualisieren(!) die Session ID an der entsprechenden Stelle.

Wenn nicht kann ich aktualisieren wie ich will, nichts passiert, klar. Nur seltsam ist, dass ich in der Statusleiste in dem Link die SessionID sehe, aber halt nicht bei echo...
Und wenn ich diesen klicke erscheint die Session auch als "echo".

Ursprünglich hatte ich den Link so vor:

<a href="<? echo "$PHP_SELF?SID=$PHPSESSID"?>">link</a>

Aber statt nur die ID anzuzeigen, steht im Link für $PHPSESSID

PHPSESSID=312j213jpowqkü023pökeölk...

Wer kann mir das erklähren? Oder hast Du (Andre) das schon? Ich meine so funktioniert das ganze sehr viel einfacher.

Leider habe ich auf meiner Seite das Problem, dass das mal so wie oben, aber auch manchmal so wie von mir gedacht funktioniert, ich habe keinen Schimmer, wie das funktioniert. Möglicherweise hat das damit zu tun, das ich cookies nicht deaktiviert habe und
auch zwischen durch(bis jetzt sicherheitshalber) session_start() verwende?

Und ich habe mir gerade nochmal die Sachen dazu in den FAQ durchgelesen, steht wirklich vieles von dem drin, worüber Ihr geschrieben habt, aber diese Frage konnte ich mir da auch nicht beantworten.

So wie ich das im Augenblick sehe, muß ich das auf der Startseite, da wo session_start() steht so machen wie oben in einem Script, und ab da habe ich dann die SessionID in einer richtigen Variable stehen, die ich dann überall verwenden kann, sehe ich das richtig? Also brauche ich doch nur einmal

Session_start()und

ini_set("session.use_cookies", "off");

nämlich direkt am Anfang, oder?

Grüsse

Andreas