前言
本系列文章主要是根據實戰視頻《360大牛:全面解讀PHP面試》學習過程中記錄的學習筆記,期間也會加入查找資料和平時學習中學習到的知識。
Cookie
Cookie是一種服務器發送給客戶端的片段信息,存儲在客戶端的內存或磁盤中。
如下創建 test.php 並編輯如下代碼
<?php
setcookie('name','pino.pan');
echo $_COOKIE['name'];
?>
第一次訪問test.php時,沒有任何輸出,並且如果開啓了錯誤提示,會拋出一個 warning 。
第二次訪問test.php時,會按照預期輸出pino.pan。
原因:
因爲cookie是設置在客戶端的,setcookie函數自己並不能設置cookie,它只能通過響應頭信息的方式告訴瀏覽器說:我要設置一個cookie,鍵爲name,值爲pino.pan,麻煩在瀏覽器幫我設置一下。而$_COOKIE是通過讀取請求頭中的COOKIE數據,再去搜索數組裏面是否有對應的key。
因此第一次訪問時,請求頭的COOKIE中沒有key爲name的數據。此次響應後,瀏覽器會幫忙設置key爲name,value爲pino.pan的cookie,然後在第二次的請求中攜帶去訪問腳本,此時就可以正常輸出了。
參考鏈接:https://www.cnblogs.com/Mwsoft/p/4940268.html