PHP會議在它的最簡單的,如果file_1.php包含問題與XAMPP
<?php
session_start();
$_SESSION["test_message"] = "Hello, world";
header("Location: http://localhost/file_2.php");
?>
和file_2.php包含
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body>
<?php
if (!(isset($_SESSION["test_message"])))
echo "Test message is not set";
else
echo $_SESSION["test_message"];
var_dump($_SESSION);
session_destroy();
?>
</body>
</html>
結果是Test message is not set
和後續代碼var_dump($ _ SESSION)返回null
- locally, with Xampp
。但是,如果我上傳的那些相同的文件到付費的託管網站,它的工作原理,我看到
Hello, world
array
'test_message' => string 'Hello, world' (length=12)
當我看着PHPINFO XAMPP下,它顯示Session Support enabled
。我究竟做錯了什麼?
在session_start();在file_2的頂部?爲什麼不是file_1的開始?這是會話開始的地方,它設置了fiel_2將檢索的會話變量。 – Mawg 2010-07-13 08:58:33
它必須在兩個腳本中。 session_start()不*初始化_new_會話,它啓動php的會話處理機制,您必須在每個php實例中(至少)執行一次該操作,以便使用會話數據。新請求,php的新實例,新的session_start()。 – VolkerK 2010-07-13 09:01:05
好的,你們兩個都這麼說 - 我已經+1了。但它仍然不起作用 – Mawg 2010-07-13 09:06:43