PHP会话技术cookie
為什么要使用會話技術
???????? 我們在瀏覽網站的時候,訪問每一個Web頁面都是使用HTTP協議來實現的。由于HTTP協議是一個無狀態的協議。這就會導致當一個用戶請求一個頁面以后,再請求該網站的其他頁面,HTTP協議并不能告訴服務器這是同一個用戶。
因為HTTP協議是無狀態的,所以我們無法跟蹤用戶。所以一定程度上會影響我們的開發,例如:登錄模塊,如果不能跟蹤用戶,將會導致訪問該網站的每一個都要求我們重新登錄。還有就是購物車也是需要使用到用戶跟蹤
用戶跟蹤的方式
???????? 所謂用戶跟蹤,其實就是向另外一個網頁傳遞數據。
???????? 在PHP里面提供了3種方式來實現網頁之間傳遞數據
①? ?可以通過超鏈接或者header()函數在URL后面附加參數的形式來傳遞數據。
② 使用cookie將用戶的狀態信息存儲在客戶端的計算機里面。
③ 使用session將用戶的狀態信息存儲在服務器端的計算機里面。
?
如果用戶的狀態信息全部都是通過附加在URL后面來進行傳遞,那么,開發工作量是非常大。所以我們一般選用Cookie或者Session技術。
?
Cookie的應用
①???? ?Cookie的概述
在現實生活中,如果在商場里面購買東西,一般會有一張會員卡。這張會員卡就記錄用戶的相關信息(姓名,聯系電話,積分信息)。下一次你再去商場的時候,只要拿出會員卡,商場這一邊就知道你是之前來過的用戶,通過這張積分卡,就可以讀出你所有的信息。
???????? Cookie就類似于這張會員卡,當用戶第一次訪問網站的時候,服務器在返回HTTP響應的時候順帶將Cookie(小餅干)發送到客戶端保存起來(相當于商場將會員卡發給了你)。下一次當用戶再次訪問該網站的其他頁面的時候,在HTTP的請求里面就會自動的將客戶端的Cookie信息給帶過去。通過這種方式,服務器端就可以識別是否是同一個用戶。
?
①???? ?向客戶端的計算中設置Cookie
在PHP里面,提供了一個叫做setCookie的函數,可以用客戶端發送cookie信息
Bool SetCookie(Cookie的名稱,Cookie的值,Cookie的生存時間,Cookie有效的目錄,Cookie有效的域名,是否通過安全協議HTTPS來傳輸Cookie)
?
Cookie的生存時間是以當前的時間戳來計算的
?
如果Cookie設置成功,則返回true
?
在PHP里面讀取Cookie信息
在PHP里面提供了一個$_COOKIE[ ]這是一個超全局數組。該超全局數據用來存放從客戶端發送過來的cookie信息。
通過test.Php設置了cookie信息
訪問hello.php頁面的時候,我們會發現http請求里面自動就添加了這個cookie信息
如果沒有寫過期時間,cookie的有效期是多久?
如果沒有書寫cookie的過期時間,那么默認cookie將會在瀏覽器關閉時過期。
?
?
?以數組的形式設置cookie
這個一般用于一組信息的時候
?
?刪除cookie
如何手動的刪除cookie,方法很簡單,還是調用setCookie函數,只需要value為空,然后時間小于當前的系統時間即可
?
還有一種方法刪除cookie,只設置第一個參數,其他參數全部省略
這一種方式cookie并沒有被刪除,只是被置空了。
?
轉載于:https://www.cnblogs.com/kevin29/p/7402138.html
總結
以上是生活随笔為你收集整理的PHP会话技术cookie的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL优化二(SQL性能调优)
- 下一篇: 【推荐】你必须知道的EF知识和经验