Jiriki: Sessions zwischen Dokumenten in unterschiedlichen Verzeichnissen

Hi Leute,

Ich hab ein Problem mit dem Sessionmanagment auf meinen Seiten (PHP 4.4.4):

Der Besucher der Website bewegt sich eigentlich die ganze Zeit auf der index.php, wo eine Session für ihn standartmäßig angelegt wird (session_start() und ansprechen der Variablen über $_SESSION).
Nun soll sich der Besucher einen Zahlungsbeleg in Form einer PHP-generierten Bilddatei ausdrucken können, die auf einer separaten Seite print_bill.php dargestellt wird, welche in einem Unterverzeichnis des Document-Roots liegt.

Für die Erstellung des Bildes benötige ich eine SESSION-Variable, deswegen leite ich die print_bill auch wieder mit session_start() ein, was sowohl offline bei mir aufm Rechner (IIS) als auch online (Apache) funktioniert: Beidemal wird bei session_id() ein Wert zurückgeliefert.

Was nun aber nur noch offline funktioniert, ist, die registrierten SESSION-Variablen anzusprechen. Woran könnte das liegen?

Danke und Grüßle

  1. Hi,

    Was nun aber nur noch offline funktioniert, ist, die registrierten SESSION-Variablen anzusprechen. Woran könnte das liegen?

    nur in der besagten print_bill.php? Hast Du da vielleicht irgendwo noch ein session_is_registered oder sowas drin?

    LG

    1. Ne, wirklich nur session_start() und die Superglobale $_SESSION. Ich hab jetzt mal die print_bill.php ins gleiche Verzeichnis gelegt wie die index.php und siehe da, es klappt. Ich tippe, dass es in der PHP- oder der Server-Konfiguration eine Einstellung gibt für den Geltungsbereich einer Session.

      Grüßle

      1. Hallöchen,

        Ne, wirklich nur session_start() und die Superglobale $_SESSION. Ich hab jetzt mal die print_bill.php ins gleiche Verzeichnis gelegt wie die index.php und siehe da, es klappt. Ich tippe, dass es in der PHP- oder der Server-Konfiguration eine Einstellung gibt für den Geltungsbereich einer Session.

        Das klingt so, als ob include($pfad.'print_bill.php') die einfachere Lösung wäre.

        MfG
        vaudi

        1. Das klingt so, als ob include($pfad.'print_bill.php') die einfachere Lösung wäre.

          Ja, hab ich jetzt auch so "zwischengelöst". Ich würd nur gern wissen, wo der Unterschied in den lokal- und online-Einstellungen liegen, um das Problem nicht immer umschiffen zu müssen.

          Danke und Grüßle