我知道這是2/3其他問題的重複,但我嘗試了所提出的解決方案,但它們並不適合我。我懷疑問題出在PHP.ini文件中,或者與服務器文件夾權限有關。會話未被存儲
登錄頁面:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
//EDIT: forgot to copy paste this, but it is in my code
session_start();
if (isset($_POST['username']) && isset($_POST['password'])) {
//login function basically checks the posted username and password, then sets some
//session variables accordingly
login($_POST['username'], $_POST['password']);
}
if (isset($_SESSION['valid']) && $_SESSION['valid'] === true) {
header("Location: /HomePage/Home.php");
exit;
}
...
?>
主頁:
<?php
//EDIT: forgot to copy paste this, but it is in my code
session_start();
ini_set('display_errors', 1);
error_reporting(E_ALL);
if (!isset($_SESSION['valid']) || $_SESSION['valid'] !== true) {
header("Location: /index.php");
exit;
}
...
?>
現在,這裏的怪異的一部分。根據螢火蟲,當我輸入一個有效的用戶名和密碼時,我被重定向到主頁(如預測),然後我被重定向回登錄頁面。我在主頁上做了一個var_dump會話來檢查,session是空的。
編輯2:當我登錄頁面上
echo "Session is " . session_id() . "<br />";
更換頭球攻門,SESSION_ID是空白。這是問題嗎?我如何解決它?
編輯:這是一個PHP的ini文件的問題,感謝您的幫助。
對不起,沒有複製粘貼代碼正確地是我不好。 – BlackSheep
你忘了包含哪些其他代碼? – ceejayoz
無。我檢查了這一點。我知道我不清除/覆蓋會議任何地方。我知道我在頁面開始處有session_start,在任何輸出之前。 – BlackSheep