Hallo!
Leider funktioniert das nicht:
echo "<a href="sess.php?PHPSESSID=" . $session_id() . ">";
Fatal error: Call to undefined function: () in c:\apache\htdocs\sess.php on line 11
Wenn Du Dir mal bei php.net die Session-Funktionen angeschaut hättest, wäre Dir aufgefallen, daß ich dort einem Tipp/Formfehler habe, den ich über Copie/Past mitgeschleppt habe.
echo "<a href="sess.php?PHPSESSID=" . session_id() . ">";
Ist das jetzt automatisch gesetzt oder muß man $session_id() irgendwie erst definieren?
Die genneriert PHP für Dich und kannst sie mit session_id() ermittel.
$session_id = session_id();
So geht es:
<a href="<? echo "$PHP_SELF$PHPSESSID"?>">PHPSESSID</a>
Aber das verstehe ich nicht, im Quelltext der ausgegebenen Seite steht da dann alles ordnungsgemäß.
Genau so wie <input type="hidden" name="<? echo "$PHPSESSID" ?>">
Irgendwie, fast egal ob ich das als name, oder value schreibe macht der immer das richtige daraus, nur immer als PHPSESSID.
Hääää?
In $PHPSESSID ist die Session_id gespeichert. Bei mir kommt da sowas raus, was auch logisch ist: datei.phtmldf38cb9055bc8658ed925299cd03cd88
Das sollte wohl alles so aussehen:
<a href="<? echo $PHP_SELF ?>?<?PHP echo session_name() . "=" . session_id(); ?>">link</a>
<input type="hidden" name="<?PHP echo session_name(); ?>" value="<? echo session_id(); ?>">
Oder Du verwendest die Konstante SID.
Ich glaube ist stelle lieber alles auf PHPSESSID um, das ist einfacher, und das mit Cookies ausschalten geht auch gut.
Du kannst mit session_name('variable') Dir einen eigenen Sessionname bzw. Sessionvariable schaffen. An die kommts Du über session_name() ran.
$session_name = session_name();
Nur schade das ich auf der Startseite zum verrecken nicht an die SESSION ID als Variable selbst komme.
Programmierfehler und sicherlich auch ein Denkfehler von Dir!
startseite.phtml
<?PHP
session_start()
?>
<html>
<body>
echo "<a href="seite.phtml?" . session_name() . "=" . session_id() . "">";
</body>
</html>
MfG, André Laugks