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