我有一個PHP代碼,它使用session_start()
開始會話。那麼在用戶登錄後,會被帶到profile.php,它顯示用戶信息。但是當用戶重新加載頁面時,會話消失了。有什麼辦法可以維持一小時嗎?我試過cookies,但我不知道如何告訴PHP會話已經啓動。謝謝!使用cookies維護PHP session_start()
Profile.php代碼:
if(isset($HTTP_COOKIE_VARS['session'])){
session_start();
} else {
header('Location: index.php');
}
登錄代碼:它檢查會話
session_start();
$_SESSION['pass'] = $password;
header('Location: ../profile.php');
setcookie("session","1",time()+3600,"/");
代碼:
if($_SESSION['pass'] == $tableArray[0]['password']) {
$username = $tableArray[0]['name'];
$avatar = $tableArray[0]['avatar'];
} else {
header('Location: index.php');
}
我打電話session_destroy() on here:
<li><a href=<?php session_destroy(); echo "index.php"?>>Logout</a></li>
忘了PHP在HTML之前運行:P這是問題!
是您的會話名稱「會話」?您在登錄代碼中未使用session_name('session')'將其名稱設置爲'session'。默認情況下,會話名稱(和cookie名稱)是'PHPSESSID' –