我知道這可能是一個重複的問題,但我似乎無法找到我的具體問題的答案。頁面間沒有保存的PHP會話變量
我有3個PHP文件。 signin.php獲取用戶數據並將其傳遞給signin_auth.php。
signin.php然後重定向在成功註冊後mytoolkit.php
signin_auth.php使用下面的代碼在PHP腳本的末尾:
<?
session_start();
$_SESSION['sessionID'] = $id;
$_SESSION['time'] = time();
header ("Location: mytoolkit.php");
exit;
?>
然後,用戶是重定向到mytoolkit.php,它使用此代碼:
<?
session_start();
if (!isset($_SESSION['sessionID'])) {
header('Location: signin.php?message=4');
exit;
}
$inactive = 5400;
$session_life = time() - $_SESSION['time'];
if ($session_life > $inactive) {
session_destroy();
header("Location: signin.php?message=5");
exit;
}
?>
會話變量不存儲和mytoolkit.php不斷改向我signin.php消息= 4
可能是一個愚蠢的錯誤。我剛剛看了太久。
UPDATE -
所以我有幾臺服務器。在iPage上。我將整個文件夾移到了不同的服務器上(abc.com/toolkit現在已經複製到xyz.com/toolkit)該應用程序在xyz.com上運行得非常好......它是第一個爲我提供了問題的服務器。
這兩個都運行在同一託管公司。我不知道該怎麼做。
爲什麼您使用session_life和非活動破壞的會話,你沒有讓PHP殺它本身當它是無效的X時間,你可以在php.ini中設置?? – CodeBird 2013-05-08 21:09:11
你說在sign auth的最後是會話代碼,你是在輸出html還是空白行之前? – 2013-05-08 21:11:00
@on_,我會問同樣的事情;代碼到頁面的最後,'session_start()'不能一起走,和前面的空格一起走。 – 2013-05-08 21:13:45