Seite 1 von 1

Session-Inhalt wird nicht "übergeben" bzw. ist leer...??

Verfasst: 12.10.2016 01:07
von ereza
Hi liebes Forum!

ich habe 2 Dateien... Datei1.php und eine befragung.php

Die sehen so aus:

Datei1.php:

Code: Alles auswählen

if ($Moeglichkeit_1 == 1)
            {
                // username wird aus der SESSION mitgenommen...
                $_SESSION['username']=$username;
                //echo nl2br(print_r($_SESSION,true));
                //$test=$_SESSION['username'];
                //echo $test;
                echo readfile("https://localhost/projekt/befragung.php");
            }
befragung.php:
<?php
//session_name();
session_start();
echo nl2br(print_r($_SESSION,true));
//session_start();
//$test=$_SESSION['username'];
//echo $test;

?>

Ich versuche gerade den username von Datei1.php der über die Session gespeichert wurde, in befragung.php auszugeben...

aber das geht nicht!!

Das "Session-Array" ist leer:
Array
(
)
ich weiß aber nicht warum... :-?

ich habe zuerst in Datei1.php getestet ob der username auch wirklich übergeben wird mit:

Code: Alles auswählen

$test=$_SESSION['username'];
 echo $test;

und das funktioniert eindeutig!! - Das heißt bis dahin... wenn ich $test ausgebe... ist die session noch erhalten...

aber dann wenn ich mit:

Code: Alles auswählen

echo readfile("https://localhost/projekt/befragung.php");
die befragung.php aufrufe...

ist meine session leer!!??! - ich breche die session aber auch nicht ab...!

laut php.net/manual/de/function.session-start.php sollte ja die vorherige session weiterverwendet werden...

ich weiß einfach nicht warum das nicht funktioniert...

könnt ihr mir da bitte weiterhelfen bzw. erklären, woran das liegt?

Vielen Dank!

PS:
Ich bin noch PHP-Anfänger... also bitte habt Nachsicht mit mir...


LG Tim

Re: Session-Inhalt wird nicht "übergeben" bzw. ist leer...??

Verfasst: 13.10.2016 08:21
von gn#36
Ich bin mir nicht ganz sicher ob ich deine Konstruktion richtig verstehe, aber für mich sieht es so aus, als würdest du mit zwei verschiedenen Rechnern versuchen auf die selbe Session zuzugreifen. Einmal mit dem Browser, bei dem hinterher in der Session was drin steht und einmal mit dem Server, indem du die Konstruktion echo readfile($url) darauf zugreifst. Der Browser und der Server sind zwei verschiedene Rechner. Das Problem an der Stelle ist readfile, was bei einer url dazu führt, dass der Server (in diesem Fall) eine http(s) Verbindung aufbaut und dann wie ein Browser behandelt wird. Du willst aber eigentlich die selbe Anfrage nur weiterbehandeln.

Vielleicht suchst du daher nach [php:include]? Das öffnet die Datei direkt aus der selben PHP Sitzung.