PHP基礎複習(八)——會話控制

前言

本系列文章主要是根據實戰視頻《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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章