André Laugks: PHP4 Sessions

Beitrag lesen

Hallo!

Also, das ist seite1.php:

@session_start();
    session_register("s_userName","s_userPermissions");

Bei session_register() ist session_start() nicht nötig, das session_register() das auch erledigt, aber für Dein Problem egal.

echo "<a href=seite2.php>Seite2</a>";

Wie transportierst Du die session-Daten, wie Session-Name und Session-ID auf seite2.phtml, wenn Cookies deaktiviert sind?

Auf Deinem NT-System scheint PHP alle relativen Links mit dem Session-Name und Session-ID zu versehen. Unter Linux/Unix/etc. muß beim kompilieren dafür --enable-trans-sid mit angegeben werden. Die PHP unter NT ist das automatisch so, was nur in der php.ini abgestellt werden kann. Rufe mal über phpinfo(); die php.ini/Konfiguration auf und schaue mal, wie Dein Provider PHP kompiliert hat.

Du kannst für den Fall deaktivierter Cookies, die Konstante SID verwenden.
<a href="seite2.phtml?<?PHP echo SID; ?>">Seite2</a>

Cookies deaktiviert--> <a href="seite2.phtml?PHPSESSID=e7680f786ab9ffb381cf0b8df52363e8">Seite2</a>

Cookies aktiviert --> <a href="seite2.phtml?>Seite2</a>

PHPSESSID ist der Standardsessionname/Sessionvariable bei PHP. Dies kannst Du in der php.ini(wenn Du Zugriff hast) oder mit session_name("meinName")(aber angeben bevor Du die session startest) ändern.

und das ist seite2.php:

<?php
    @session_start();

session_register("s_userName","s_userPermissions");

Um die Variablen, die in der Sessiondatei abgelegt sind wieder nutzen zu können, mußt Du die Sessionvariablen wieder registrieren.

MfG, André Laugks