我很困惑,爲什麼這是工作;爲什麼cookies和session的組合使用起作用?困惑
setcookie("user", $user_id, time()+604800);
session_start();
$_SESSION['user_id'] = "string";
即使setcookie()
沒有提及$_SESSION['user_id']
,當我回聲$_SESSION['user_id']
從代碼另一頁:
session_start();
echo $_SESSION['user_id'];
它打印string
。
我的印象是,setcookie()
必須引用$_SESSION
鍵才能從任何頁面調用它?
也許我的基地很好,但我只是想確保我明白爲什麼在我實施它之前這是行得通的,因爲我寧願它不會因爲錯誤的使用而發生故障。
任何幫助,意見,建議和解釋將不勝感激!
我認爲它是默認存儲或其他東西?因爲我實際上沒有要求手動存儲'$ _SESSION ['id]'。 –
PHP在您開始會話時會自動處理該事件。 HTTP通過設計是一種無狀態協議,並且使會話起作用的唯一一個會話是包含會話ID的cookie。會話的_contents_由您控制,並存儲在服務器端。 – Rijk
所以這是一個不同於由'setcookie()'創建的cookie,與我的OP一樣。我也發現這個我認爲可能是你在說什麼 - http://uk3.php.net/manual/en/function.session-set-cookie-params.php –