Mailinglisten-Archive |
Ringo Großer wrote:
> Hallo Liste,
Hallo Ringo,
> [...]
>
> Das Manual sagt zur session_id():
> "Wenn ID angegeben wird, wird die die aktuelle Session-ID ersetzt.
> session_id() muss zu diesem Zweck vor session_start() aufgerufen werden."
Und weiter unten:
"session_id() gibt die Session-ID der aktuellen Session zurück oder die
leere Zeichenkette (""), falls es keine aktuelle Session gibt (es
existiert keine aktuelle Session-ID)."
(http://php.cgerharz.de/session_id)
> Also nur wenn ich die ID vorgeben möchte, dann führe ich session_id()
> vor dem session_start() aus.
Richtig.
> [...]
>
> Folgender Hinweis kam von Yannik:
>> if (session_id() ==='') //session existiert nicht...
>
> Diese Bedingung dürfte nach meinen bisherigen Tests aber vor einen
> session_start() immer positiv ausfallen. Also würde ich damit niemals
> eine bestehende Session erkennen und könnte sie mit einem nur an
> diese Bedingung geknüpften session_start() auch nicht wieder aufnehmen.
Auch richtig, soweit ich weiss.
Wie waer's mit Folgendem:
Im globalen Framework:
if (isset($_GET[session_name()]) || isset($_POST[session_name()] ||
isset($_COOKIE[session_name()])
{
session_start();
}
Und sobald die Session benoetigt wird (sofern noch keine existiert),
also meinetwegen nach einem Login einfach:
session_start()
(ungetestet!)
> Was wäre also ein brauchbarer Test, um auf die Existenz einer Session
> zu prüfen? Sieht PHP dafür eine Funktion vor oder muss ich selbst nach
> einen entsprechenden Cookie oder Parameter prüfen?
Mir ist keine Funktion bekannt, ergo obiger Code. Lasse mich allerdings
gerne belehren, falls es da etwas eleganteres gibt. :)
> regards, Ringo
Christopher
php::bar PHP Wiki - Listenarchive