2013-08-06 98 views
0

在我的login.php中啓動一個新會話後,我rediredct到home.php並加載會話變量成功。但是當我嘗試在家中打開menu.php .php並使用會話變量,那些相同的變量現在是未定義的。在頁面更改和完全相同之後,我回顯會話ID。那麼誰能告訴我爲什麼我會失去這些變量?會話啓動後會話變量不會傳遞到第三個頁面

的login.php:?

session_start(); 
$_SESSION["user"]=$puser; 
$_SESSION["loggedin"]=true; 
echo "<script>window.open('../home.php','_self')</script>"; 

>

home.php

require("php/objects.php"); 
session_start(); 
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"]==true) 
{ 
    $user=$_SESSION["user"]; 
    $_SESSION["loggedin"]=true; 
    echo session_id(); 
    echo $_SESSION["loggedin"]; 
} 
else 
{ 
    echo "Login Error"; 
    echo "<script>window.open('default.html','_self')</script>"; 
    exit(); 
}`` 

>

menu.php

require("objects.php"); 
session_start(); 
echo session_id(); 
echo $_SESSION["loggedin"]; 
/*if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"]==true) 
{ 
    $user=$_SESSION["user"]; 
    $utype=isset($user->salary)?"staff":"client"; 

} 
else 
{ 
    echo "Login Error"; 
    echo "<script>window.open('../default.html','_self')</script>"; 
    exit(); 
}*/`` 

?>

當我點擊一個鏈接在HREF = home.php我menu.php得到一個錯誤,該索引的loggedIn未定義

+3

愚蠢的事情來檢查:你'在session_start()'在第三腳本? –

+0

...在輸出任何東西之前? – ComFreek

+0

向我們展示每個文件的幾行第一行。另外當你說「從home.php打開menu.php」你是否像第一個例子那樣包含或重定向? – pajaja

回答

0

我不知道什麼是你objects.php,呼籲會議應該在此之前。

session_start(); 
require("objects.php"); 
echo session_id(); 
echo $_SESSION["loggedin"]; 
+0

之前嘗試過沒有工作 –