PHPSESSID= wird zig mal an die URL angehängt.
Jürgen
- php
0 Sven Rautenberg0 Jürgen
Guten Tag,
seit einiger Zeit arbeite ich mit Sessions. Habe mir die Dokumentation dazu auf www.php.net angeschaut.
Ich weiß nicht was falsch läuft, aber die Session ID wird immer wieder and die Url angehängt. Wenn ich z.B. an der Seite arbeite und teste habe ich nach einer Weile sowas:
PHPSESSID=PHPSESSID=PHPSESSID=PHPSESSID=PHPSESSID=kjhasd8f7t687b86761876238 67bä1a
Gestern hatte ich 48! x PHPSESSID in der Adresszeile. Hatte eine ganze Weile an einer Seite gearbeitet.
Könnte mir freundlicherweise sagen was hier nicht funktioniert?
Danke
Mit freundlichen Grüßen
Jürgen
Moin!
Gestern hatte ich 48! x PHPSESSID in der Adresszeile. Hatte eine ganze Weile an einer Seite gearbeitet.
Könnte mir freundlicherweise sagen was hier nicht funktioniert?
Das Anhängen der Session-ID an die URL als Parameter funktioniert nicht.
Wäre die Frage, wie du das derzeit machst - denn sonst kann niemand beurteilen, was daran falsch ist.
- Sven Rautenberg
Guten Tag,
Das Anhängen der Session-ID an die URL als Parameter funktioniert nicht.
Also, ich arbeite mit Klassen. Die Objekte werden jeweils auf den Seiten erzeugt. Im Prinzip sind die Seiten (news,impressum,shop,etc) relativ kurz. Auf den Seiten steht jeweils als erste Zeile:
session_start();
Ansonsten benutze ich eigentlich in den Klassen eigentlich nur die Session Variablen, z.B.
$_SESSION['name'];
Gruß
Jürgen
Moin!
Das Anhängen der Session-ID an die URL als Parameter funktioniert nicht.
Also, ich arbeite mit Klassen. Die Objekte werden jeweils auf den Seiten erzeugt. Im Prinzip sind die Seiten (news,impressum,shop,etc) relativ kurz.
Das ist irrelevant.
Was tust du, um die Session-ID an die URL anzuhängen?
Auf den Seiten steht jeweils als erste Zeile:
session_start();
Davon bin ich ausgegangen. :)
Ansonsten benutze ich eigentlich in den Klassen eigentlich nur die Session Variablen, z.B.
$_SESSION['name'];
Das beeinflußt die Session-ID-Übergabe nicht.
- Sven Rautenberg
Hi,
Was tust du, um die Session-ID an die URL anzuhängen?
Also im prinzip mache ich sonst nichts weiter. Das macht der automatisch. Ich speichere die Session ID in einer mySql DB ab.
Dazu benutze ich eine weitere php Funktion:
$this->sessionID = session_id(SID);
Das ist eigentlich alles.
Moin!
Dazu benutze ich eine weitere php Funktion:
$this->sessionID = session_id(SID);
Aha, da haben wir den Übeltäter.
In der Konstanten SID steht folgendes drin:
1. Wenn PHP die Session-ID per Cookie übermittelt bekommen hat, steht nichts drin.
2. Wenn kein Cookie festgestellt werden konnte, steht folgender Text drin: "sessionname=sessionid".
Diese Konstante SID kann man direkt in Links einbauen:
echo "<a href="/irgendein/link.php?".SID."">Link</a>";
Du setzt jetzt aber die Session-ID immer neu mit der Funktion session_id(). Diese Funktion gibt die derzeit aktuelle Session-ID zurück, wenn _kein_ Parameter übergeben wird. Sie setzt die Session-ID auf den übergebenen Wert, _wenn_ ein Parameter übergeben wird.
Du übergibst einen Parameter. Nämlich im ersten Schritt "sessionname=sessionid". Das setzt die Session-ID, und SID wird zu "sessionname=" + Wert von session_id(), also "sessionname=sessionname=sessionid".
Und so geht es dann rekursiv immer weiter:
"sessionname=sessionname=sessionid"
"sessionname=sessionname=sessionname=sessionid"
"sessionname=sessionname=sessionname=sessionname=sessionid"
"sessionname=sessionname=sessionname=sessionname=sessionname=sessionid"
Abhilfe: Einfach nur session_id() ohne Parameter aufrufen.
- Sven Rautenberg
Gutn Tag,
es hat wirklich daran gelegen.
Herrlich!!!
1000 fach Dank und einen schönen Gruß
Jürgen