Cookie通常用來驗(yàn)證或辨別一個(gè)用戶。
Cookie是什么呢?
Cookie通常用來驗(yàn)證或辨別一個(gè)用戶。Cookie是通過服務(wù)器發(fā)送到用戶計(jì)算機(jī)中的一個(gè)小文件。每次,當(dāng)相同的計(jì)算機(jī)通過瀏覽器請(qǐng)求一個(gè)頁面時(shí),原先存儲(chǔ)的cookie也會(huì)發(fā)送到服務(wù)器。你可以使用PHP來創(chuàng)建和獲取cookie的值。
怎樣創(chuàng)建一個(gè)cookie呢?
Setcookie()函數(shù)是用來設(shè)置一個(gè)cookie的。
注意:setcookie()函數(shù)必須在<html>標(biāo)簽之前。
語法
setcookie(name, value, expire, path, domain);
案例
在下面這個(gè)例子中,我們將創(chuàng)建一個(gè)名為“user”的cookie并把“Alex Porter”這個(gè)值賦給它;同時(shí),我們還規(guī)定cookie將在一小時(shí)后過期:
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>
注意:當(dāng)發(fā)送cookie時(shí),cookie值是自動(dòng)進(jìn)行URL編碼[URLencoded]的;當(dāng)受到cookie時(shí),自動(dòng)進(jìn)行URL解碼。(如果你不希望進(jìn)行URL編碼,可以使用setrawcookie()函數(shù)替代)
如何獲取cookie值?
PHP _COOKIE變量是用來獲取一個(gè)cookie值的
在下面這個(gè)例子中,我們獲取了名為“user”的值并將它顯示在頁面上:
<?php// Print a cookieecho _COOKIE["user"];// A way to view all cookies
print_r(_COOKIE);
?>
我們使用isset()函數(shù)來檢查cookie是否被設(shè)置:
<html>
<body><?php
if (isset(_COOKIE["user"]))
echo "Welcome " . _COOKIE["user"] . "!<br />";
else
echo "Welcome guest!<br />";
?></body>
</html>
如何刪除一個(gè)cookie?
當(dāng)你要?jiǎng)h除一個(gè)cookie時(shí),你必須確保cookie已經(jīng)過期。
案例:
<?php
// set the expiration date to one hour agosetcookie("user", "", time()-3600);
?>
如果瀏覽器不支持Cookie怎么辦?
如果你的瀏覽器不支持cookie,你必須使用其他方法將一個(gè)頁面的信息傳輸?shù)搅硪豁撁嬷小F渲幸粋€(gè)方法就是使用表單(我們已經(jīng)在先前的教程中提到過)。
下面這個(gè)案例:當(dāng)用戶點(diǎn)擊“提交submit”按鈕的時(shí)候,用戶輸入的信息被傳輸?shù)?ldquo;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>
新聞熱點(diǎn)
疑難解答