PHP Session Problem

Sircoly

Mitglied
Halli Hallo,

Ich habe folgendes problem:

Datei 1:
PHP:
<?
    ### Session Start ###
session_start();
    

    ### Setzen ###
    $_SESSION['test1']  = true;
    $_REACT['test1']    = true;
    
    ### Auslesen ###
    if($_SESSION['test1']  == true)
    {
      echo "Variable 1 Funktioniert.";
    }
    else
    {
      echo "Variable 1 Funktioniert nicht.";
    }

    if($_REACT['test1']  == true)
    {
      echo "<br>";
      echo "Variable 2 Funktioniert.";
    }
    else
    {
      echo "<br>";
      echo "Variable 2 Funktioniert nicht.";
    }
    
    ### weiterleiten ###
    echo "<meta http-equiv=\"refresh\" content=\"4; url=index2.php?PHPSESSID=".session_id()."\">";

    
    // phpinfo();
?>

Datei 2:
PHP:
<?
    ### Session Start ###
session_start();

    ### Auslesen ###
    if($_SESSION['test1']  == true)
    {
      echo "Variable 1 Funktioniert.";
    }
    else
    {
      echo "Variable 1 Funktioniert nicht.";
    }
    
    if($_REACT['test1']  == true)
    {
      echo "<br>";
      echo "Variable 2 Funktioniert.";
    }
    else
    {
      echo "<br>";
      echo "Variable 2 Funktioniert nicht.";
    }

    ### Unset ###
    unset($_REACT);
    unset($_SESSION);
    
    ### Auslesen ###
    if($_SESSION['test1']  == true)
    {
      echo "<br>";
      echo "<br>";
      echo "<br>";
      echo "Variable 1 Funktioniert.";
    }
    else
    {
      echo "<br>";
      echo "<br>";
      echo "<br>";
      echo "Variable 1 Funktioniert nicht.";
    }

    if($_REACT['test1']  == true)
    {
      echo "<br>";
      echo "Variable 2 Funktioniert.";
    }
    else
    {
      echo "<br>";
      echo "Variable 2 Funktioniert nicht.";
    }
?>

So, wenn ich as ausführe, geht alles.
Nun möchte ich aber die Datei 1 so umschreiben:
PHP:
<?
    ### Session Start ###
session_start();
    

    ### Setzen ###
    $_SESSION['test1']  = true;
    $_REACT['test1']    = true;
    
    ### Auslesen ###
    if($_SESSION['test1']  == true)
    {
      echo "Variable 1 Funktioniert.";
    }
    else
    {
      echo "Variable 1 Funktioniert nicht.";
    }

    if($_REACT['test1']  == true)
    {
      echo "<br>";
      echo "Variable 2 Funktioniert.";
    }
    else
    {
      echo "<br>";
      echo "Variable 2 Funktioniert nicht.";
    }
    
    ### weiterleiten ###
    echo "<meta http-equiv=\"refresh\" content=\"4; url=index2.php\">";

    
    // phpinfo();
?>

also das übergeben der sessioin weg machen.
Wenn ich nun in der PHP.ini die einstellung verändern würde USE_trans_id, dann müsste die ID doch automatisch an jede URL angehangen werden. Oder?
Oder müsste ich noch etwas beachten? Benutze PHP 5.1.2.

Und ich habe noch eine Frage: Wenn ich in der index2.php auf die Variable $_REACT zugreifen will,
was muss ich dann machen? - also wie kann ich diese Variable als Globale Variable erstellen?
 
Zuletzt bearbeitet:
$_REACT...sowas gibts soweit ich weiß überhaupt garnicht bei PHP nur $_SESSION, $_REQUEST, $_GET, $_POST und $_COOKIE.

Umgeleitet wird in PHP normalerweise via header-Funktion und nicht mit einem HTML-Meta Refresh.
 
Hallo,

ja, ich weiß, dass es die G. Variable $_REACT nicht gibt.
Ich habe nur gedacht: so muss man doch auch seine eigenen göobaen variablen erstellen können. Oder kennt ihr noch eine Idee?
Man kann doch bestimmt auch $_SESSION['kategorie']['wert1'] machen. sprich multi-dimensionale array draus machen.

Das mit den Meta tags weiß ich auch. aber es war für mich zu dem zeitpuntk am einfachsten, weil ich dann zeit habe, die ausgabe zu lesen. ;-)
 
Nein, selbst kann man keine globalen Variablen erstellen. Aber versuchs mal so:

PHP:
$_REACT = & $_SESSION["REACT"];

Dann nimmst du einen Umweg über Referenzen.
 
Zurück