如何爲會話設置無限次cookie?我曾嘗試下面的下面,但是一天之後我仍然得到我的會話未定義指數告示:是否可以將cookie的無限時間設置爲會話變量?
setcookie('idcourse', 'CourseID', 9999999999);
setcookie('namecourse', 'CourseName', 9999999999);
setcookie('id', 'ID', 9999999999);
if (isset($_POST['idcourse'])) {
$_SESSION['idcourse'] = $_POST['idcourse'];
}
if (isset($_POST['namecourse'])) {
$_SESSION['namecourse'] = $_POST['namecourse'];
}
if (isset($_POST['id'])) {
$_SESSION['id'] = $_POST['id'];
}
cookies與$ _POST無關。在所有使用會話的腳本中對會話做任何事情之前,你是否完成了session_start()?請注意,大多數Cookie都受到y2038k問題的困擾。您傳遞的是34位數字,大多數瀏覽器僅使用32位字符串作爲時間字符串。 –
您正在將這些Cookie設置爲9999999999,這是一個1986年日期的unix時間戳。更重要的是,設置這些cookie與處理$ _SESSION的方式無關。 –
$ _SESSION與單個Cookie相關:PHPSESSID。但是,即使增加PHPSESSID的生命週期也不會改變$ _SESSION存儲的時間長度 - 會話存儲會自動垃圾收集服務器端。 –