PDA

Vollstndige Version anzeigen : Session Weiterleitung ber Header


Ford Prefect
10-06-2004, 21:28
Ich versuche ber einen header eine Session weiterzuleiten mit diesem Script
<?php
session_start();
$test=array("Alpha","Beta");
session_register(test);
$sid=session_id();
header("Location: sessionread.php?SID=$sid");
?>

Jedoch sind auf der Zielseite die Variablen leer. Hier die Zielseite:

session_register(test);
echo count($test);
for ($i=0;$i<count($test);$i++){
echo "Test=".$test[$i]."<br>";
}

Was mach ich falsch. Fr rasche Hilfe wre ich dankbar
mfg Ford Prefect

lolblack
11-06-2004, 01:52
probier mal:

session_start();
session_register('test');
$test=array("Alpha","Beta");

$sid=session_id();
header("Location: sessionread.php?SID=$sid");


session_register('test');

...rest

vielleicht liegts an den hochkomma
ist jedenfalls im tutorial so ...
schau mal obs funzt

feuervogel
11-06-2004, 02:02
wenn jemand diesen thread findet, weil er/sie vielleicht ein hnliches problem hat, wird er die lsung so nicht erfahren...wre nett, wenn du sie auch noch posten wrdest.

Ford Prefect
11-06-2004, 16:15
Habe es jetzt versucht, funzt aber noch immer nicht.
Es muss aber etwas mit dem header zu tun haben, da es bei einer Weiterleitung mit einem link klappt.
mfg
Ford Prefect

xabbuh
11-06-2004, 16:36
Ich wei nicht, ob es daran liegt, aber ich bergebe die SID bei Weiterleitungen immer so:


session_start();

header("Location: http://www.adresse.de/seite.php?" . SID);


SID ist eine Konstante, die automatisch bei session_start() erstellt wird und folgendes Format hat:


session_id() . "=" . session_id();

feuervogel
11-06-2004, 16:50
man lese und staune:

It is a good idea to call session_write_close() before proceeding to a redirection using

header("Location: URL");
exit();

because it ensures the session is updated (in a file or into a database, depending on the handler you're using) BEFORE you redirect the visitor somewhere else.

JP.

quelle (http://de.php.net/session_write_close)

und wieso hngt ihr die sid an den url dran? das dass zu einem sicherheitsleck werden kann, ist schon klar, oder?

Ford Prefect
11-06-2004, 16:50
Ja, das wars, jetzt funzts
Vielen Dank auch
mfg
Ford Prefect

Ford Prefect
11-06-2004, 17:05
Original geschrieben von feuervogel
man lese und staune:



quelle (http://de.php.net/session_write_close)

und wieso hngt ihr die sid an den url dran? das dass zu einem sicherheitsleck werden kann, ist schon klar, oder?
Ansonsten wird die SID ja nicht weitergeleitet; fr einen besseren Vorschlag bin ich jederzeit zu haben.
mfg
Ford Prefect

feuervogel
11-06-2004, 18:32
>Ansonsten wird die SID ja nicht weitergeleitet;

bist du dir sicher? ich wei nicht, wie deine php-config ist, aber bei mir passiert das alles automatisch - ber cookie, und wenn cookies nicht erlaubt sind, wird die sid automatisch an den url gehngt.

Ford Prefect
11-06-2004, 19:41
Bei mir geht das nicht da sollte ich mir mal die php-config ansehen.
mfg
Ford Prefect

xabbuh
11-06-2004, 20:14
Die Einstellungen session.use_cookies, session.use_only_cookies, session.use_trans_sid sollten dabei wichtig sein.

Ford Prefect
11-06-2004, 20:24
Danke habe es inzwischen gefunden und behoben
mfg Ford Prefect

meikel
12-06-2004, 04:03
Original geschrieben von feuervogel
>Ansonsten wird die SID ja nicht weitergeleitet;

bist du dir sicher? ich wei nicht, wie deine php-config ist, aber bei mir passiert das alles automatisch - ber cookie, und wenn cookies nicht erlaubt sind, wird die sid automatisch an den url gehngt.
Das ist schon richtig so, weil in der Konstanten SID nur dann was drin steht, wenn die manuelle Weitergabe der Session id erforderlich ist.

Die Preisfrage ist allerdings, ob PHP bei session.use_trans_sid = 1 und kekslosem Betrieb auch URLs in header ("Location: ...") ergnzt.