Cookie原理及使用
關聯課件:7子項目七 - Cookie原理及使用(點擊在線預覽)
7.3.1.1 Cookie機制的原理及使用&nb愛生sp;
Cookie是一購到種(zhǒng)在本地浏覽器端儲存數據并以此來跟蹤和玩暗識别用戶的機制。PHP透明地支持HTTP Cooki放火e。從客戶端發(fā)送的cookie都(dōu麗讀)會(huì)被(bèi)PHP 5自分金動加入$_COOKIE的全局數組。如果希望對錢遠(duì)一個Cookie變量設置多個值,則需在cookie的名稱後(hòu)化外加“["值名稱"男文]”符号。
&n都化bsp; 下面(m船機iàn)來看一下Cookie的具體應用實例。
空身先來建立一個用戶登錄的表單。
1: <!--文件7生化-1.php:COOKIE實現用戶登錄女厭的表單-->
2: <HT那吧ML>
3: &用見nbsp; <HEAD答如>
4: &見通nbsp;<TITLE>COOKIE實現用戶登錄站下的表單</TITLE>
5: 飛國</HEAD>
6: <BODY>
7: <form輛請 name="for議這m1" method="po哥文st" action=&子你quot;7-1action.php">
8: <table 女離width="280" height=數會"96" border="0"事女; cellpadding=
"0" cells: pacin時路g="1" bgcolo那鐘r="#999999">
9: &nb時是sp; <tr>
10: &nb中短sp; &n媽信bsp; <td colspan=&q空歌uot;2" bgcolor="#FFFFF近飛F">用戶登錄</td>
11: &nbs光理p; </tr>
12: 照但 <tr>
13: &nbs好化p; <離還;td bgcolor="#FFFFFF">用戶國慢名:</td>
14: &nbs影在p; &區河lt;td bgcolor="#FFFFFF哥們">
15: 件議 &nbs路家p;  很農; <input type="text&q動她uot; name="user_name&物和quot; size="12&qu音能ot;> &n區街bsp;
16: 刀吧 &n哥的bsp; </td>
17: &n金火bsp; </tr>見畫
18:  看近; &nbs但用p; <她唱;tr>
19: &n家都bsp;  業可; &n多雨bsp; <td bgcolor="#FF到熱FFFF">口令:<月動;/td>
20: &商開nbsp; <td bgcolor煙國="#FFFFFF">
21: 秒匠 <inpu身這t type=" password木路 " name="use兵劇r_pw" size唱讀="12">下舊</td>
22:  月費; </tr&g商亮t;
23: 視光 &自公nbsp; <tr>
24: &nbs睡門p; 議就 <td colspan="2" bgco哥在lor="#FFFFFF"友微>
25: &吃村nbsp; &日討nbsp;  算機;<input type="submit&quo會外t; name="Submit" value="業志;提交">
26:  弟跳;  中銀; <i說湖nput type="r做遠eset" name="Submit2&q坐你uot; value="重置"><議有;/td>
27: &n器裡bsp;  花呢; </tr&線空gt;
28:  鄉那; </ta短樹ble>
29: </form>章區;
30: 藍能 &nb體相sp;</BODY>
31: </HTML>
程序7-1.php的運行結果如圖7-1所示爸也。
圖7-1 程序7-1.php的運行結果
再建立一個名爲“7-1們學action.php”的文件,在“7-1.php”文件中的第離花7行已經(jīng)規定圖7-3所示的用戶填寫的表單的内容要提交到答子“7-1action.php”文件中。也就(jiù)是民地要在這(zhè)個文件中利用Cookie模拟用戶的登錄市飛是否成(chéng)功。“7-1action.php”文件的詳爸道細代碼如下。
1: <?php
2: 購短 //文件7-1action.ph草去p:COOKIE實現用戶登錄
3: &nbs美時p; setcookie("user_name",長商 $_POST[user_name]);
4: s說學etcookie("user_pw", $_POST舞事[user_pw]);
5: ?>
6: <HTML>
7: &n草請bsp; <HEAD>讀讀
8: 文雨  醫資;  技章; <TITLE>COOKIE實現用戶登煙頻錄</TITLE>
9: &nb街匠sp; </HEAD&g那喝t;
10:  木影; <BODY>
11: &nbs作大p; &河業nbsp;<?php
12: &n錢工bsp;  有河; if ($_POST["user_name"為和]=="php" &&舊又 $_POST["user_p雜錯w"]=="php5"){去舊
13: &nbs秒吃p; &為是nbsp; &nbs業朋p; &nbs銀影p;echo "恭喜您,用戶名和口令正确,登錄成(ch唱窗éng)功!";
14: 作書  路從; &務做nbsp;echo "<a href=7-1action-ch東如eck.php>單擊檢測Cookie的值是否可以頁
間傳遞</a>" ;
15: 年男 }else{
16: &劇老nbsp;  學器; &n不鐵bsp; echo &一看quot;您輸入的用戶名和口令不正确,請<a href=7-1.ph火行p>返回</a>輛大
請嘗試:php和php5";
17: 遠們 &nbs黃志p; &男有nbsp; &nbs的老p; }
18: &nb東姐sp; &門吃nbsp; echo "答懂<br>您輸入的用戶名爲:".$_C就低OOKIE["user_身又name"];
19: &nbs工作p;  文吃; echo "<br&g購了t;口令爲:".$_COOKIE["user_pw&q路刀uot;];
20: &n花人bsp;  呢暗;?>
21:  弟了; </BODY>
22: </HTML>體黃;
“7-1action.php”程序中第8行和第學快9行是接受“7-1.php”程序中第15行和第21行表單傳遞的學睡變量值,并注冊爲Cookie,此時(shí)“$_COOKIE[&quo你弟t;user_name"]”和“$_COOKIE [&如火quot;user_pw"的化;]”均爲全局變量,隻要是由程序“7-1action.php少城”聲稱的跳轉過(guò)去的葉子這(zhè)兩(liǎng)個變量的值均可用。唱弟
低看 在圖7-1中輸入用戶名“php”和密碼“php章議5”後(hòu)單擊“提交”按鈕會(huì)出現校少如圖7-2所示的運行效果。
輸入的不正确的用戶名和口令
輸入正确的用戶名和口令
但當輸入其他用戶名和密碼後(hòu)點“提得去交”按鈕會(huì)出現圖7-3所示的運行結道黑果
圖7-3 程序7-我媽1action.php的運行結果
&n討從bsp; 下面(mià煙廠n)來檢測一下在系統設爲禁用的時(shí)音數,Cookie是否可以在不同的頁間傳遞。建立一個名爲“7-1act劇匠ion-check.php”的文件。在文件“白外7-1action.php”的第1笑民8行,我們需單擊一個鏈接方可進(jìn)行南到測試,而鏈接的目标文件爲“7-1action.php農懂-check.php”,文件“7-1action.php- check.php體術”的詳細代碼如下。
1: <!--文件7-術答1action-check.php:COOKIE頁間傳遞--計了>
2: <HTML要筆>
3: 業機 <HEAD>
4: 開西 <TITLE>他看;COOKIE頁間傳遞</TITLE>
5:  妹北; </HEAD>
6: &nbs劇讀p; <BODY>
7:  店科; &錯暗lt;?php
8: &北畫nbsp; &n謝場bsp; &nbs他中p; if ($_CO相飛OKIE["user_name"]!="&quo物光t; && $_COO中弟KIE["user_pw"]!=&qu答少ot;"){
9: &nbs校錯p; &雜服nbsp; 看上 echo &quo舊近t;Cookie頁間傳遞成(chéng)功!<br&g問去t;";
10: &nbs計相p; 城畫 &飛弟nbsp; echo 如火"您輸入的用戶名爲:".$_COOKI地術E["user_name農事"];
11:  妹城; &nbs區兵p;  草錢;echo "<br&水可gt;口令爲:".$_COOKIE[&quo還學t;user_pw"];
12: &nbs話雪p; 從作  什我; }else{
13: &nbs志明p;  林些; &n大大bsp; &木放nbsp; echo "文美;Cookie頁間傳遞失敗,其值爲空!<br>&quo海就t;;
14:  道城; 朋朋 跳近 &木請nbsp; 看資 }
15: &拍愛nbsp; ?>
16: &nb視快sp; </BODY>
17: </HTML>
在IE的“工具”菜單站從中有“Internet選項”菜單項,打開(kāi)後(hòu)再選“安全”謝行→“自定義級别”,將(jiāng)安全設置你對中的“允許使用每個對(duì)明化話cookies”設爲禁用時(shí),其運行結果如圖7-4這吧所示。
圖7-4 將(jiāng)系統設爲禁用cookies時(shí看南)程序7-1action-check.php的運行村城結果
cookie 是一種(zhǒng)發(fā)送到弟鐵客戶浏覽器的文本串句柄,并保存在客了秒戶機硬盤上,可以用來在某個WEB站點會(huì)女少話間持久的保持數據。
Cookie是一種(zhǒng)在本地浏覽器端儲存數據并以此來跟蹤和識别用戶紅老的機制。PHP透明地支持HTTP Cookie。從客戶快和端發(fā)送的cookie都(dōu)會(hu自拍ì)被(bèi)PHP 5自動加入$_CO很銀OKIE的全局數組。如果希望對(duì)一個Cook答暗ie變量設置多個值,則需在cookie的名稱後(hòu)加“["雪北;值名稱"]”符号。弟木
Cookie是一種(zhǒng)在本下開地浏覽器端儲存數據并以此來跟蹤和媽可識别用戶的機制。PHP透明地支持HTTP Cookie。從客戶端發秒訊(fā)送的cookie都(dōu)會(訊草huì)被(bèi)PHP 5自動加入$快務_COOKIE的全局數組。如果希望對(duì)去大一個Cookie變量設置多個值,則需在cookie的名稱後(hòu輛厭)加“["值名稱"學近;]”符号。