程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中Cookie的使用教程

php中Cookie的使用教程

編輯:PHP綜合

CookIE,有時也用其復數形式CookIEs,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。定義於RFC2109(已廢棄),最新取代的規范是RFC2965。

CookIE是什麼呢?

Cookie通常用來驗證或辨別一個用戶。CookIE是通過服務器發送到用戶計算機中的一個小文件。每次,當相同的計算機通過浏覽器請求一個頁面時,原先存儲的cookIE也會發送到服務器。你可以使用PHP來創建和獲取cookIE的值。

怎樣創建一個cookIE呢?

Setcookie()函數是用來設置一個cookIE的。

注意:setcookIE()函數必須在<Html>標簽之前。

語法

setcookIE(name, value, expire, path, domain);

案例

在下面這個例子中,我們將創建一個名為“user”的cookie並把“Alex Porter”這個值賦給它;同時,我們還規定cookIE將在一小時後過期:

<?PHP
setcookIE("user", "Alex Porter", time()+3600);
?>
<Html>
<body>
</body>
</Html>

注意:當發送cookie時,cookie值是自動進行URL編碼[URLencoded]的;當受到cookie時,自動進行URL解碼。(如果你不希望進行URL編碼,可以使用setrawcookIE()函數替代)

如何獲取cookIE值?

PHP $_COOKIE變量是用來獲取一個cookIE值的

在下面這個例子中,我們獲取了名為“user”的值並將它顯示在頁面上:

<?PHP// Print a cookieecho $_COOKIE["user"];// A way to view all cookIEs
print_r($_COOKIE);
?>

我們使用isset()函數來檢查cookIE是否被設置:

<Html>
<body><?PHP
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
  echo "Welcome guest!<br />";
?></body>
</Html>

如何刪除一個cookIE?

當你要刪除一個cookie時,你必須確保cookIE已經過期。

案例:

<?PHP
// set the expiration date to one hour agosetcookIE("user", "", time()-3600);
?>

如果浏覽器不支持CookIE怎麼辦?

如果你的浏覽器不支持cookIE,你必須使用其他方法將一個頁面的信息傳輸到另一頁面中。其中一個方法就是使用表單(我們已經在先前的教程中提到過)。


下面這個案例:當用戶點擊“提交submit”按鈕的時候,用戶輸入的信息被傳輸到“welcome.PHP”:

<Html>
<body><form action="welcome.PHP" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form></body>
</Html>

下面的案例指明了如何獲取“welcome.PHP”文件中的值:

<Html>
<body>Welcome <?PHP echo $_POST["name"]; ?>.<br />
You are <?PHP echo $_POST["age"]; ?> years old.</body>
</Html>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved