function test()
{
session_start();
session_register(„bla“);
$bla=„Geht nicht“;
}
wenn ich die Funtion test() aufrufe, danach einen redirect auf eine neue php-seite mache (via cookies und GET) ist die variable $bla leer.
session_start();
print($bla);
das tolle ist. rufe ich nicht die funktion test() auf, sondern
schreibe den code top-down in eine datei, dann funktioniert die variable $bla nach dem redirect.
darf man die session_xyz() funktionen nicht in eigenen Funktionen aufrufen?
das tolle ist. rufe ich nicht die funktion test() auf, sondern
schreibe den code top-down in eine datei, dann funktioniert
die variable $bla nach dem redirect.
darf man die session_xyz() funktionen nicht in eigenen
Funktionen aufrufen?
Doch, das darf man, allerdings muss man dafuer einiges beachten… ich poste dir mal meine Session Funktion:
session()
{
global $xid;
session_name(„xid“);
session_start();
$xid = session_id();
}
Du musst bedenken, der Vorteil von Funktionen ist es, dass die Variablen, die du darin benutzt quasi unendlich vorkommen und daher das eigentliche Script nicht behindern, damit die Variablen, in dem Falle die SessionID $xid auch ausserhalb benutztbar sind, musst du global $xid benutzen. Sollte es damit immer noch nicht funktionieren, schreib mir einfach nochmal.
session()
{
global $xid;
session_name(„xid“);
session_start();
$xid = session_id();
}
Du musst bedenken, der Vorteil von Funktionen ist es, dass die
Variablen, die du darin benutzt quasi unendlich vorkommen und
daher das eigentliche Script nicht behindern, damit die
Variablen, in dem Falle die SessionID $xid auch ausserhalb
benutztbar sind, musst du global $xid benutzen. Sollte es
damit immer noch nicht funktionieren, schreib mir einfach
nochmal.
ich hab es zwar noch nicht versucht, aber die session_id() ist eigendlich nicht das problem. das problem liegt bei variablen, die ich mit session_register() an die session hänge. diese
sind kommischerweisse mit session_is_registered() abfragbar, aber trotzdem leer (siehe mein posting zuvor).
ich hab es zwar noch nicht versucht, aber die session_id() ist
eigendlich nicht das problem. das problem liegt bei variablen,
die ich mit session_register() an die session hänge. diese
sind kommischerweisse mit session_is_registered() abfragbar,
aber trotzdem leer (siehe mein posting zuvor).
Das ganze war grundsaetzlich gemeint, auch variablen, die du in der Session registierst muessen vorher mit global $variable; festgesetzt werden *g*. Probier es mal damit.
das „global $var;“ funktioniert. nur muss dann
später auch mit GLOBALS[„var“] darauf zugegriffen werden, sonst fehlt der „Inhalt“. gibt es eine bessere lösung?
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Das ganze war grundsaetzlich gemeint, auch variablen, die du
in der Session registierst muessen vorher mit global
$variable; festgesetzt werden *g*. Probier es mal damit.
das „global $var;“ funktioniert. nur muss dann
später auch mit GLOBALS[„var“] darauf zugegriffen werden,
sonst fehlt der „Inhalt“. gibt es eine bessere lösung?
register_globals und track_vars einstellen - track_vars sollte aber ab php4.0.3 immer aktiviert sein, kommt darauf an, welche Version du benutzt - aktuell ist 4.0.6