一、區(qū)別
1、Cookie是完全保存在客戶端。當(dāng)客戶端禁止cookie時將不能再使用;對服務(wù)端壓力較?。豢梢灾付ㄉ嬷芷?;安全性差。
2、Session是存放在服務(wù)端的。但session id是存放在客戶端的cookie中的,但php的session存放方法是多樣化的,這樣就算禁用cookie一樣可以跟蹤;服務(wù)端壓力較大;關(guān)閉瀏覽器后,session失效;安全性較好。
二、cookie
1、設(shè)置。
創(chuàng)新互聯(lián)是一家專業(yè)提供朝陽企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站設(shè)計(jì)、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為朝陽眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
Setcookie(string name, string value, int expire,string path, string domain, int secure)
name是cookie變量名稱標(biāo)識(必須),
value是cookie變量的初始值(必須),
expire 表示該cookie變量的有效時間(時間點(diǎn),為空時cookie不會保存到客戶端,當(dāng)瀏覽器關(guān)閉,cookie會失效),
path 為該cookie變量的相關(guān)路徑,
domain 表示cookie變量的網(wǎng)站,在此域名內(nèi)cookie有效,
secure 則需在 https 的安全傳輸時才有效。
例:SetCookie("name", "value",time()+3600, "/test", ".test.com", 1)
2、讀取。echo $_COOKIE["cookiename"];類似與POST和GET。
3、刪除 。SetCookie("cookiename", "")或SetCookie("cookiename", "value" , time()-1);
注:
1、必須在HTML文件的內(nèi)容輸出之前設(shè)置;
2、不同的瀏覽器對Cookie的處理不一致;
3、一個瀏覽器能創(chuàng)建的Cookie數(shù)量最多為30個,并且每個不能超過4KB,每個WEB站點(diǎn)能設(shè)置的Cookie總數(shù)不能超過20個(未驗(yàn)證);
4、首次訪問頁面時設(shè)置cookie,第二次訪問時才能讀取cookie值,因?yàn)閏ookie是保存在客戶端,需由客戶端傳至服務(wù)端才能讀取。
解決方法:設(shè)置cookie后,echo "";
三、Session的配置
1、session_start(); //初始化session.需在文件頭部
2、$_SESSION[name]=value; //配置Seeeion
3、echo $_SESSION[name]; //使用session
4、isset($_SESSION[name]); // 判斷
5、unset($_SESSION[name]); //刪除
6、session_destroy(); //刪除所有session