cookie 的特性與限制
cookie 是儲存在用戶端的電腦上,每個瀏覽器存儲的皆不一樣,是無法跨瀏覽器存取的,例如 chrome 的 cookie 只能供 chrome 存取,並無法讓 IE 去存取,是各自獨立的。
一般大都使用在購物車上,旦由於 cookie 存在用戶的電腦上,也相對的風險也較高,也容易受到竄改,因此建議 cookie 存放的資料盡量避免存放購物金額、個資…等資訊。
每個瀏覽器都有 cookie 的存放限制,因此在使用上請勿任意的濫用。
設定 cookie
使用 setcookie 的函式:setcookie("cookie名稱","值","存活時間","路徑","網域")。
存活時間:使用 time() 函式來加上存活的「秒數」。
路徑:建議指定為根目錄。
網域:一般不需要特別指定,
//設定一個名為 myInfo的cookie,將值設成 Allen,存活時間為28800秒(即8小時)
setcookie("myInfo","Allen",time()+28800,"/");
讀取 cookie
讀取 cookie 的值相當的簡單,只需要使用 $_COOKIE。
echo $_COOKIE["myInfo"]; //即可印出上面範例設定的值,可得到「Allen」
清除 cookie
與設定一樣是使用 setcookie 函式,只是將值清空與時間扣除即可。
setcookie("myInfo","",time()-28800,"/");