2017-03-31 76 views
2

PHP會話變量不工作

<?php 
 
//page 1 
 
session_start(); 
 
... 
 
$_SESSION['user_name_loggedin'] = $user; 
 
header("Location: profile.php"); 
 
... 
 
?>

<?php 
 
//page2 
 
session_start(); 
 
... 
 
if(isset($_SESSION['user_name_loggedin'])){ 
 
\t echo $_SESSION['user_name_loggedin']; 
 
}else{ 
 
\t echo 'not set<br>'; 
 
} 
 
... 
 
?>

我想獲得一個登錄使用會話我的網站工作。以上顯示了我希望在使用會話之間傳輸信息的兩個頁面的示例。 $用戶從登錄頁面的登錄表單中獲取。在配置文件頁面上,登錄後,它只顯示'未設置'。有什麼我失蹤?

預先感謝

+0

你的瀏覽器允許cookies嗎? – user2659982

+0

是$ user serializeable? – user2659982

+0

確保$ user在登錄頁面上有值。如果該值未從表單中檢索,則不會設置SESSION變量。嘗試打印出$ user,並註釋掉重定向頭。看看是否有價值。 – blackandorangecat

回答

1

嘗試在本地使用以下代碼:

1 test.php的

`<?php 
//page 1 
session_start(); 
$user="dvjnvki"; 
$_SESSION['user_name_loggedin'] = $user; 
header("Location: b.php"); 
?>` 

2 b.php

<?php 
//page2 
session_start(); 
if(isset($_SESSION['user_name_loggedin'])){ 
echo $_SESSION['user_name_loggedin']; 
}else{ 
echo 'not set<br>'; 
} 
?> 

,它並很好地工作。所以你的代碼的問題可能是你可能沒有得到一個名爲$ user的變量的值。試着先回應一下,看看你是否有輸出。