Cookies是存儲在客戶端計算機上的文本文件。
識別用戶涉及三個步驟-
服務器腳本將一組cookie發(fā)送到瀏覽器。如姓名,年齡或身份證等。
瀏覽器將此信息存儲在本地計算機上,以備將來使用。
下次瀏覽器向Web服務器發(fā)送任何請求時,它將向服務器發(fā)送這些cookie信息,然后服務器使用該信息來識別用戶。
本章將教您如何設(shè)置cookie,如何訪問它們以及如何刪除它們。
Cookie信息
Cookie通常是在HTTP標頭中設(shè)置的(盡管JavaScript也可以直接在瀏覽器中設(shè)置Cookie)。設(shè)置cookie的PHP腳本可能會發(fā)送類似于以下內(nèi)容的標頭-
HTTP/1.1 200 OK Date: Fri, 04 Feb 2000 21:03:38 GMT Server: Apache/1.3.9 (UNIX) PHP/4.0b3 Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; path=/; domain=learnfk.com Connection: close Content-Type: text/html
如您所見,Set-Cookie標頭包含名稱值對,GMT日期,路徑和域名。名稱和值將進行URL編碼。 expires 表示cookie存儲有效期。
如果訪問網(wǎng)站時,將帶上cookie重新發(fā)送到服務器。瀏覽器的標頭可能看起來像這樣-
GET/HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc) Host: zink.demon.co.uk:1126 Accept: image/gif, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: name=xyz
然后,PHP腳本將可以訪問包含所有cookie名稱和值的環(huán)境變量$_COOKIE或$HTTP_COOKIE_VARS []中的cookie。上面的cookie可以使用$HTTP_COOKIE_VARS [" name"]訪問。
設(shè)置Cookies
PHP提供了setcookie()函數(shù)來設(shè)置cookie。 此函數(shù)最多需要六個參數(shù),應在<html>標簽之前調(diào)用。 對于每個Cookie,此函數(shù)必須分別調(diào)用。
setcookie(name, value, expire, path, domain, security);
這是所有參數(shù)的詳細信息-
name? ? ? ?-? ?設(shè)置cookie的名稱,并存儲在名為HTTP_COOKIE_VARS的環(huán)境變量中。
value? ? ? ?-? ?這將設(shè)置命名變量的值,并且是您實際要存儲的內(nèi)容。
expire? ? ?-? 過期時間,如果未設(shè)置此參數(shù),則在關(guān)閉Web瀏覽器時cookie將自動失效。
path? ? ? ? -? 這指定cookie有效的目錄。
domain? ?-? 所有cookie僅對創(chuàng)建它們的域名有效。
security? ?-? 可以將其設(shè)置為1,以指定僅通過使用HTTPS的安全傳輸來發(fā)送cookie,否則設(shè)置為0,這意味著可以通過常規(guī)HTTP發(fā)送cookie。
以下示例將創(chuàng)建兩個 name 和 age 的cookie,這些cookie將在一小時后過期。
<?php setcookie("name", "John Watkin", time()+3600, "/","", 0); setcookie("age", "36", time()+3600, "/", "", 0); ?> <html> <head> <title>用PHP設(shè)置Cookies</title> </head> <body> <?php echo "Set Cookies"?> </body> </html>
訪問Cookies
PHP提供了許多訪問cookie的方法。最簡單的方法是使用$_COOKIE或$HTTP_COOKIE_VARS變量。
<html> <head> <title>用PHP訪問Cookies</title> </head> <body> <?php echo $_COOKIE["name"]. "<br />"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["name"]. "<br />"; echo $_COOKIE["age"] . "<br />"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "<br />"; ?> </body> </html>
您可以使用 isset()函數(shù)檢查是否設(shè)置了cookie。
<html> <head> <title>用PHP訪問Cookies</title> </head> <body> <?php if( isset($_COOKIE["name"])) echo "Welcome " . $_COOKIE["name"] . "<br />"; else echo "Sorry... Not recognized" . "<br />"; ?> </body> </html>
刪除Cookie
正式地,要刪除cookie,您應該僅使用name參數(shù)調(diào)用setcookie(),但將cookie設(shè)置為已過期的日期是最安全的方法-文章來源:http://www.zghlxwxcb.cn/news/detail-662814.html
<?php setcookie( "name", "", time()- 60, "/","", 0); setcookie( "age", "", time()- 60, "/","", 0); ?> <html> <head> <title>Deleting Cookies with PHP</title> </head> <body> <?php echo "Deleted Cookies" ?> </body> </html>
PHP - Cookies - 無涯教程網(wǎng)無涯教程網(wǎng)提供Cookies是存儲在客戶端計算機上的文本文件。識別用戶涉及三個步驟- 服務器腳本將一組c...https://www.learnfk.com/php/php-cookies.html文章來源地址http://www.zghlxwxcb.cn/news/detail-662814.html
到了這里,關(guān)于無涯教程-PHP - Cookies的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!