![研究生入學(xué)考試交談期追蹤的Session與Cookies處理_第1頁(yè)](http://file4.renrendoc.com/view/6b4101a3a2609753a2308726c3258855/6b4101a3a2609753a2308726c32588551.gif)
![研究生入學(xué)考試交談期追蹤的Session與Cookies處理_第2頁(yè)](http://file4.renrendoc.com/view/6b4101a3a2609753a2308726c3258855/6b4101a3a2609753a2308726c32588552.gif)
![研究生入學(xué)考試交談期追蹤的Session與Cookies處理_第3頁(yè)](http://file4.renrendoc.com/view/6b4101a3a2609753a2308726c3258855/6b4101a3a2609753a2308726c32588553.gif)
![研究生入學(xué)考試交談期追蹤的Session與Cookies處理_第4頁(yè)](http://file4.renrendoc.com/view/6b4101a3a2609753a2308726c3258855/6b4101a3a2609753a2308726c32588554.gif)
![研究生入學(xué)考試交談期追蹤的Session與Cookies處理_第5頁(yè)](http://file4.renrendoc.com/view/6b4101a3a2609753a2308726c3258855/6b4101a3a2609753a2308726c32588555.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
10-1PHP的預(yù)定變數(shù)10-1-1PHP的預(yù)定變數(shù)10-1-2伺服器系統(tǒng)資訊的內(nèi)容10-1-1PHP的預(yù)定變數(shù)-說(shuō)明PHP的預(yù)定變數(shù)屬於PHP引擎建立的變數(shù),HTTP通訊協(xié)定傳送的不只URL網(wǎng)址,在HTTP標(biāo)頭資訊擁有瀏覽程式版本、伺服器、Cookie、表單欄位資料等相關(guān)資訊。在PHP4.10之後版本提供一組結(jié)合陣列的預(yù)定變數(shù),可以取得PHP程式和HTTP標(biāo)頭的相關(guān)資訊,預(yù)設(shè)擁有全域的變數(shù)範(fàn)圍,稱為「自動(dòng)全域」(Autoglobals)或「超全域」(Superglobals)變數(shù)。10-1-1PHP的預(yù)定變數(shù)-超全域變數(shù)10-1-2伺服器系統(tǒng)資訊的內(nèi)容-變數(shù)名稱10-1-2伺服器系統(tǒng)資訊的內(nèi)容-使用在PHP程式可以指定變數(shù)名稱的鍵值來(lái)取得指定的系統(tǒng)資訊:$ip=$_SERVER["REMOTE_ADDR"];$path=$_SERVER["SCRIPT_NAME"];PHP程式可以使用foreach迴圈顯示伺服器的所有變數(shù)值:foreach($_SERVERas$key=>$value){echo"<tr><td>".$key."</td>";echo"<td>".$value."</td></tr>";}鍵值10-2HTTP標(biāo)頭處理10-2-1轉(zhuǎn)址到其他網(wǎng)頁(yè)或PHP程式10-2-2定時(shí)更新網(wǎng)頁(yè)10-2-3設(shè)定輸出文件內(nèi)容的資料類型10-2-4設(shè)定在快取保留的期限10-2HTTP標(biāo)頭處理PHP的header()函數(shù)可以送出HTML文件的標(biāo)頭資訊,透過(guò)送出的標(biāo)頭資訊來(lái)轉(zhuǎn)址或定時(shí)更新網(wǎng)頁(yè)、指定文件內(nèi)容和保留期限。header()函數(shù)的說(shuō)明:10-2-1轉(zhuǎn)址到其他網(wǎng)頁(yè)或PHP程式轉(zhuǎn)址功能是指在執(zhí)行PHP程式時(shí),可以轉(zhuǎn)址到其他網(wǎng)址或網(wǎng)站的其他網(wǎng)頁(yè)或PHP程式,header()函數(shù)是使用Location型態(tài)來(lái)指定轉(zhuǎn)址的URL網(wǎng)址:header("Location:Ch10-1-2.php");header("Location:http://localhost/Ch09/Ch9-3-1.htm“);header("Location:");10-2-2定時(shí)更新網(wǎng)頁(yè)P(yáng)HP的header()函數(shù)可以使用Refresh型態(tài)指定間隔時(shí)間來(lái)定時(shí)更新網(wǎng)頁(yè):header("Refresh:2");如果在一定時(shí)間後轉(zhuǎn)址到其他URL網(wǎng)址或PHP檔案路徑,只需加上url參數(shù):header("Refresh:2;url=Ch10-1-2.php");間隔時(shí)間,此例是2秒10-2-3設(shè)定輸出文件內(nèi)容的資料類型-說(shuō)明在header()函數(shù)可以使用Content-type型態(tài)指定HTTP通訊協(xié)定傳送資料到瀏覽程式的資料種類,其值是MIME資料類型,常用類型:10-2-3設(shè)定輸出文件內(nèi)容的資料類型-使用如果需要輸出成其他文件類型,可以使用header()函數(shù)指定MIME資料類型:header("Content-type:text/xml");XML文件10-2-4設(shè)定在快取保留的期限-說(shuō)明雖然網(wǎng)站的PHP程式、HTML網(wǎng)頁(yè)和圖片等多媒體資料是儲(chǔ)存在Web伺服器,不過(guò)為了加速網(wǎng)頁(yè)存取,在伺服端、客戶端電腦或Proxy伺服器都會(huì)將網(wǎng)頁(yè)內(nèi)容保留在快取空間(Cache)的資料夾或磁碟,以便加速網(wǎng)頁(yè)的瀏覽。10-2-4設(shè)定在快取保留的期限-客戶端快取的說(shuō)明在客戶端電腦啟動(dòng)瀏覽程式瀏覽網(wǎng)頁(yè)時(shí),網(wǎng)頁(yè)內(nèi)容同時(shí)會(huì)保留在客戶端電腦的資料夾,此資料夾是一個(gè)快取空間,可以加速網(wǎng)頁(yè)瀏覽。當(dāng)使用者重複瀏覽相同的網(wǎng)頁(yè)時(shí),瀏覽程式先到快取找找看是否檔案已經(jīng)存在,如果有,就直接從快取取出網(wǎng)頁(yè)內(nèi)容,而不是每次都連結(jié)網(wǎng)站下載網(wǎng)頁(yè)內(nèi)容,如此可節(jié)省下載檔案時(shí)間,提高瀏覽效率。不過(guò),為了保密、安全原因或希望每次都連結(jié)網(wǎng)站下載網(wǎng)頁(yè)內(nèi)容,我們並不希望將網(wǎng)頁(yè)內(nèi)容保留在客戶端快取,或是只允許保留一段時(shí)間,所以,我們需要設(shè)定PHP程式的保留期限。10-2-4設(shè)定在快取保留的期限-指定PHP程式的保留期限PHP程式可以使用header()函數(shù)指定Expires型態(tài)設(shè)定網(wǎng)頁(yè)檔案在快取保留的時(shí)間,時(shí)間是GMT格林威治時(shí)間:header("Expires:".gmdate("D,dMYH:i:s",
mktime(0,0,0,12,31,2006))."GMT");程式碼使用gmdate()函數(shù)取得GMT時(shí)間,mktime()函數(shù)指定日期/時(shí)間,以此例是:Sat,30Dec200616:00:00GMT。如果不想將PHP程式保留在快取,只需將Expires設(shè)為過(guò)去時(shí)間即可:header("Expires:Mon,26Jul200405:00:00GMT");10-3輸出緩衝區(qū)處理10-3-1為什麼使用輸出緩衝區(qū)10-3-2輸出緩衝區(qū)處理10-3-1為什麼使用輸出緩衝區(qū)-說(shuō)明PHP的「輸出緩衝區(qū)」(OutputBuffer)是用來(lái)儲(chǔ)存PHP程式的輸出結(jié)果,其目的是等到執(zhí)行完P(guān)HP程式後,才一次送到瀏覽程式顯示。在PHP程式使用輸出緩衝區(qū)主要是針對(duì)使用header()或第10-4節(jié)的setcookie()函數(shù)會(huì)更改HTTP標(biāo)頭的情況,避免產(chǎn)生重複寫(xiě)入標(biāo)頭資料的錯(cuò)誤。10-3-1為什麼使用輸出緩衝區(qū)-圖例例如:更改程式範(fàn)例Ch10-2-1.php,刪除第1列的<?ob_start();?>設(shè)定不使用輸出緩衝區(qū)輸出網(wǎng)頁(yè)內(nèi)容,就可以測(cè)試轉(zhuǎn)址PHP程式碼時(shí)產(chǎn)生的錯(cuò)誤:10-3-2輸出緩衝區(qū)處理-PHP的輸出緩衝區(qū)處理(說(shuō)明)在PHP程式開(kāi)啟輸出緩衝區(qū)可以在php.ini檔案指定output_buffering屬性為On或是使用PHP的函數(shù)來(lái)開(kāi)啟,我們通常是使用PHP函數(shù)來(lái)開(kāi)啟。PHP引擎在執(zhí)行PHP程式碼時(shí),可以選擇將處理的結(jié)果馬上輸出到客戶端的瀏覽程式顯示,或是先輸出到暫放的輸出緩衝區(qū),等到PHP程式執(zhí)行完或是緩衝區(qū)已滿,才送到瀏覽程式顯示。10-3-2輸出緩衝區(qū)處理-PHP的輸出緩衝區(qū)處理(圖例)10-3-2輸出緩衝區(qū)處理-PHP的輸出緩衝區(qū)處理(圖例說(shuō)明)PHP程式是使用ob_start()函數(shù)開(kāi)啟輸出緩衝區(qū)。PHP程式在送到PHP引擎執(zhí)行後,可以直接將輸出內(nèi)容送到瀏覽程式顯示或是將輸出結(jié)果先輸出到緩衝區(qū),當(dāng)遇到下列情況才會(huì)將輸出的內(nèi)容送到瀏覽程式,:執(zhí)行完P(guān)HP程式後。執(zhí)行到ob_end_flush()、ob_flush()函數(shù)馬上將緩衝區(qū)的內(nèi)容送出。10-3-2輸出緩衝區(qū)處理-PHP輸出緩衝區(qū)處理函數(shù)PHP提供輸出緩衝區(qū)控制函數(shù)可以開(kāi)啟、使用和關(guān)閉使用輸出緩衝區(qū),其相關(guān)函數(shù)的說(shuō)明:10-4Cookies的處理10-4-1Cookies的基礎(chǔ)10-4-2新增Cookie10-4-3取得Cookie的內(nèi)容10-4-4刪除Cookie10-4-5陣列Cookie的使用10-4-1Cookies的基礎(chǔ)-說(shuō)明在Web網(wǎng)站通常都需要保留一些使用者的瀏覽記錄,例如:使用者是否曾經(jīng)瀏覽過(guò)網(wǎng)站,或是一些個(gè)人輸入的資訊或選擇。Cookies就是儲(chǔ)存這些資料的主要解決方案之一。Cookies的英文是小餅乾的意義,源於這些儲(chǔ)存在客戶端電腦的檔案尺寸都很小,Cookies並不是儲(chǔ)存在伺服器,而是儲(chǔ)存在瀏覽程式所在電腦,所以並不會(huì)浪費(fèi)伺服器資源。10-4-1Cookies的基礎(chǔ)-HTTP標(biāo)頭的Cookie資料(格式)伺服器回應(yīng)客戶端請(qǐng)求的HTTP回應(yīng)資料內(nèi)就含有HTTP標(biāo)頭資訊,HTTP標(biāo)頭提供回應(yīng)網(wǎng)頁(yè)檔案的重要資訊,內(nèi)含多種欄位資料,每個(gè)欄位的格式:field-name:field_value當(dāng)客戶端向伺服器提出請(qǐng)求時(shí),在HTTP回應(yīng)資料的標(biāo)頭就會(huì)將設(shè)定Cookie資料的欄位送到客戶端:Set-Cookie:name=value;expires=date;path=pname;domain=dname;secure欄位名稱欄位值10-4-1Cookies的基礎(chǔ)-HTTP標(biāo)頭的Cookie資料(屬性說(shuō)明)name屬性:Cookie的名稱,可以使用此名稱取出Cookie值和刪除Cookie。expires屬性:一個(gè)選項(xiàng),可有可無(wú),指定Cookie存在的有效期限,使用GMT的時(shí)間,其格式如下所示:Weekday,DD-MM-YYHH:MM:SSGMTdomain屬性:伺服器的網(wǎng)域名稱,預(yù)設(shè)是建立Cookie的伺服器網(wǎng)域名稱。path屬性:在domain屬性下的路徑名稱,path屬性可以進(jìn)一步在同一個(gè)網(wǎng)站分辨是哪一個(gè)網(wǎng)頁(yè)所建立的Cookies。secure屬性:如果指定此屬性,表示Cookie需要在保密情況下,才能在客戶端和伺服端傳送。10-4-1Cookies的基礎(chǔ)-
Cookie的基本應(yīng)用個(gè)人資訊:使用Cookies保留個(gè)人資訊,例如:姓名、地址、時(shí)區(qū)、帳號(hào)和是否曾經(jīng)進(jìn)過(guò)此網(wǎng)站的記錄。個(gè)人化的內(nèi)容:Cookies可以儲(chǔ)存?zhèn)€人化網(wǎng)站外觀和個(gè)人偏好的網(wǎng)站內(nèi)容,或是提供使用者有興趣的資訊。網(wǎng)站購(gòu)物車:線上購(gòu)物車需要保留使用者選擇的商品,Cookies就可以用來(lái)記錄選購(gòu)的商品清單。10-4-2新增Cookie-語(yǔ)法PHP的Cookie是使用setcookie()函數(shù)建立:setcookie(stringname[,stringvalue[,intexpire[,stringpath[,stringdomain[,intsecure]]]]])Cookie值保留的客戶端的期限,其值是整數(shù)的UNIX時(shí)間刻記10-4-2新增Cookie-範(fàn)例在PHP程式建立Cookie主要使用setcookie()函數(shù)的前3個(gè)參數(shù):setcookie("Username",$name,$date);$date是Cookie檔案儲(chǔ)存在客戶端電腦的有效期限,其日期計(jì)算的運(yùn)算式:$date=strtotime("+10days",time());Cookie名稱Cookie值時(shí)間刻記的整數(shù)值10-4-3取得Cookie的內(nèi)容客戶端電腦如果擁有Cookie,PHP程式可以使用$_COOKIE預(yù)定變數(shù)的結(jié)合陣列取得Cookie值:$user=$_COOKIE["Username"];$pass=$_COOKIE["Password"];10-4-4刪除Cookie如果客戶端的Cookie不再需要,PHP程式可以使用setcookie()函數(shù)刪除Cookie,刪除Cookie是將expire參數(shù)設(shè)為過(guò)期:setcookie("Username","",time()-3600);設(shè)定為1個(gè)小時(shí)前10-4-5陣列Cookie的使用-建立Cookie儲(chǔ)存的資料也可以是結(jié)合陣列,在PHP程式取得Cookie後,同一個(gè)Cookie名稱下還可以使用鍵值儲(chǔ)存多個(gè)值:setcookie("user[Name]","陳會(huì)安",time()+3600);setcookie("user[Username]","Joe",time()+3600);setcookie("user[Password]","1234",time()+3600);結(jié)合陣列有3個(gè)元素:Name、Username和Password,分別儲(chǔ)存使用者名稱、帳號(hào)和密碼10-4-5陣列Cookie的使用-取出因?yàn)镃ookie是一個(gè)陣列,在取得陣列Cookie的值時(shí),可以使用while迴圈配合list()和each()函數(shù)取得每一個(gè)鍵值的內(nèi)容:if(isset($cookie)){
while(list($name,$value)=each($cookie))echo"$name=$value<br>";}10-5PHP的交談期追蹤10-5-1PHP的Session基礎(chǔ)10-5-2交談期追蹤10-5-1PHP的Session基礎(chǔ)-說(shuō)明若PHP程式啟動(dòng)Session處理功能(交談期處理功能)。當(dāng)使用者進(jìn)入網(wǎng)站,PHP引擎就會(huì)自動(dòng)指定SessionID編號(hào)建立一個(gè)新Session(交談期),Session(交談期)是指使用者第一次進(jìn)入網(wǎng)站,直到使用者離開(kāi)網(wǎng)站為止的整個(gè)過(guò)程。Session類似儲(chǔ)存在客戶端的Cookie,它可以在伺服端保留一些資源來(lái)儲(chǔ)存Session變數(shù),PHP程式可以註冊(cè)不定數(shù)量的Session變數(shù),PHP事實(shí)上是使用檔案來(lái)儲(chǔ)存這些Session變數(shù)。10-5-1PHP的Session基礎(chǔ)-圖例當(dāng)這些變數(shù)註冊(cè)成為Session變數(shù)後,所有啟動(dòng)Session處理功能的PHP程式都可以存取這些變數(shù)。如果同時(shí)有多位使用者進(jìn)入網(wǎng)站,因?yàn)槊课皇褂谜叨紩?huì)指定不同的SessionID編號(hào),換句話說(shuō),每個(gè)人都可以擁有專屬的Session變數(shù):10-5-2交談期追蹤-說(shuō)明交談期追蹤(SessionTracking)是一種機(jī)制,可以在一段時(shí)間內(nèi),讓網(wǎng)站維持一系列從同一位使用者提出(通常是指同一個(gè)瀏覽程式提出)請(qǐng)求的狀態(tài)保留機(jī)制,以便追蹤使用者的狀態(tài)。交談期追蹤和第9章的狀態(tài)管理十分相似,不過(guò)第9章的狀態(tài)管理是指如何將一頁(yè)P(yáng)HP程式的狀態(tài)傳遞到下一頁(yè)P(yáng)HP程式的方法,交談期追蹤強(qiáng)調(diào)的是使用者在整個(gè)Session交談期和跨過(guò)多頁(yè)P(yáng)HP程式HTTP請(qǐng)求的狀態(tài)保留。10-5-2交談期追蹤-圖例PHP引擎實(shí)作交談期追蹤的方式是使用Session變數(shù),PHP引擎指定每一位瀏覽網(wǎng)站的使用者一個(gè)SessionID編號(hào)來(lái)作為識(shí)別,使用者每一次的HTTP請(qǐng)求都需附上SessionID編號(hào),以便判斷是否是同一位使用者提出的請(qǐng)求:10-6Session的處理10-6-1註冊(cè)與存取Session變數(shù)10-6-2取消註冊(cè)Session變數(shù)與關(guān)閉Session10-6-3使用Session變數(shù)傳遞資料10-6-1註冊(cè)與存取Session變數(shù)-函數(shù)在PHP程式使用Session處理功能需要呼叫session_start()函數(shù),以便讓PHP引擎將Session變數(shù)等相關(guān)資訊載入記憶體,其相關(guān)函數(shù)的說(shuō)明如下表所示:10-6-1註冊(cè)與存取Session變數(shù)-使用在PHP程式使用Session變數(shù)需要先註冊(cè):session_register("page_counter");在註冊(cè)成為Session變數(shù)後,PHP程式就可以使用$_SESSION結(jié)合陣列的預(yù)定變數(shù)來(lái)取得指定的Session變數(shù):$_SESSION["page_counter"
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山西省職教高考《職測(cè)》核心考點(diǎn)必刷必練試題庫(kù)(含答案)
- 《國(guó)防動(dòng)員法》知識(shí)考試題庫(kù)300題(含答案)
- 2025年武漢警官職業(yè)學(xué)院高職單招語(yǔ)文2018-2024歷年參考題庫(kù)頻考點(diǎn)含答案解析
- 《金融市場(chǎng)培訓(xùn)》課件
- 2025高考物理一輪復(fù)習(xí)第21講.機(jī)械波.含答案
- 技術(shù)服務(wù)類合同范本
- 幼兒園園長(zhǎng)工作活動(dòng)策劃方案五篇
- 夫妻協(xié)議書(shū)范文
- 面包車租車合同
- 公墓銷售代理合同十
- 江蘇省蘇州市2024-2025學(xué)年高三上學(xué)期1月期末生物試題(有答案)
- 銷售與銷售目標(biāo)管理制度
- 2025年第一次工地開(kāi)工會(huì)議主要議程開(kāi)工大吉模板
- 第16課抗日戰(zhàn)爭(zhēng)課件-人教版高中歷史必修一
- 對(duì)口升學(xué)語(yǔ)文模擬試卷(9)-江西省(解析版)
- 糖尿病高滲昏迷指南
- 壁壘加筑未來(lái)可期:2024年短保面包行業(yè)白皮書(shū)
- 2024年四川省廣元市中考物理試題(含解析)
- 環(huán)保局社會(huì)管理創(chuàng)新方案市環(huán)保局督察環(huán)保工作方案
- 2024至2030年中國(guó)水質(zhì)監(jiān)測(cè)系統(tǒng)行業(yè)市場(chǎng)調(diào)查分析及產(chǎn)業(yè)前景規(guī)劃報(bào)告
- 運(yùn)動(dòng)技能學(xué)習(xí)
評(píng)論
0/150
提交評(píng)論