cookie 必須在發(fā)送其他任何信息之前從服務(wù)器發(fā)送到客戶端,如果使用緩沖可在任何位置
setcookie 函數(shù)發(fā)送 cookie 用法:
setcookie(name,value);
函數(shù) setcookie 將 cookie 數(shù)據(jù)存放在數(shù)組 $_COOKIE 中
$_COOKIE['name']
setcookie 函數(shù)可以接受 5 個(gè)參數(shù):
setcookie(name,value,expiration,path,domain,secure,httponly);
通常 cookie 會(huì)在用戶瀏覽關(guān)閉或者過(guò)期時(shí)間到了之后自動(dòng)過(guò)期,但是我們還是需要手動(dòng)刪除它
刪除 cookie 有兩種方法:
setcookie(name,''); or setcookie(name,FALSE);
把值設(shè)為空setcookie(name,FALSE,time() - 600);
把過(guò)期時(shí)間設(shè)為過(guò)去session 是一種解決方案,解決的問(wèn)題是它可以跟蹤用戶在一系列頁(yè)面訪問(wèn)的數(shù)據(jù)
session 和 cookie 的區(qū)別:
使用 session_start 函數(shù)創(chuàng)建,訪問(wèn)或者刪除 session
這個(gè)函數(shù)在首次啟動(dòng)時(shí),會(huì)發(fā)送一個(gè) cookie,所以必須在任何 HTML 發(fā)送給瀏覽器之前調(diào)用,在使用 session 的頁(yè)面中,腳本必須起始行調(diào)用 session_start 函數(shù)
在第一次開(kāi)啟 session 時(shí),會(huì)產(chǎn)生一個(gè)隨機(jī)的 session ID,并向?yàn)g覽器發(fā)送一個(gè)名為 PHPSESSID 的 cookie
啟用 session,向數(shù)組 $_SESSION 賦值的形式為:
$_SESSION['username']= 'daige';
函數(shù) session_name 函數(shù)可以修改 session 的名稱來(lái)替代 PHPSESSI,而且應(yīng)該在調(diào)用 session_start 函數(shù)之前使用
函數(shù) session_set_cookie_params 函數(shù)用來(lái)修改 session cookie 的設(shè)置
創(chuàng)建或者訪問(wèn)一個(gè)存在的 session,都必須從 session_start 函數(shù)開(kāi)始
訪問(wèn)變量和普通數(shù)組一樣,如$_SESSION['mail'];
isset($_SESSION['var'])
可以查看特定的 session 值是否存在session 的數(shù)據(jù)在兩個(gè)地方存在,所以需要在兩個(gè)地方進(jìn)行刪除操作
必須從 session_start 函數(shù)開(kāi)始,然后設(shè)置 $_SESSION 數(shù)組來(lái)刪除 session 值
$_SESSION = array();
最后在服務(wù)器上刪除 session 數(shù)據(jù)session_destroy();