版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PHP與MySQL程序設(shè)計第18章會話處理程序目錄什么是會話處理配置指令處理會話實際的會話處理例如創(chuàng)立定制的會話處理程序小結(jié)什么是會話處理3我們需要一種強有力的解決方案,為了使得網(wǎng)站可以跟蹤客戶端與效勞器之間的交互,保存和記憶每個用戶的身份和信息,這樣就產(chǎn)生了會話控制。什么是會話控制:HTTP是一個無狀態(tài)的協(xié)議,此協(xié)議無法來維護兩個事務之間的聯(lián)系。當一個用戶請求一個頁面后再請求另外一個頁面時,HTTP無法告訴我們這兩個請求是來自同一個人。會話控制思想就是能夠在網(wǎng)站中跟蹤一個變量,我們可以跟蹤變量,就可以做到對用戶的支持,并根據(jù)授權(quán)和用戶身份顯示不同內(nèi)容,不同頁面。以下是各種會話跟蹤技術(shù)4什么是會話處理會話跟蹤技術(shù)隱藏表單域URL重寫CookieSession隱藏表單域5<formaction=“main.php〞method=〞POST〞><inputtype=“hidden〞name=“checkid〞value=“ZY7K〞></form>什么是會話處理將會話跟蹤字段的隱藏表單域添加到HTML頁面,但是不會顯示在客戶端瀏覽器中在GET和POST方法中指定用于存儲有關(guān)會話消息的名稱和值。URL重寫6原始URL:用添加的參數(shù)重寫的URL:原始URL:用添加的參數(shù)重寫的URL:什么是會話處理URL〔統(tǒng)一資源定位〕重寫技術(shù)將一個唯一的會話ID添加到URL結(jié)尾,以標識該會話。例如,重寫以下URL傳遞會話ID=1002cookie和session7什么是會話處理 當我們需要會話可以跟蹤的范圍更廣,時間更長,我們需要用到cookie和session。比方在有些網(wǎng)站下載東西需要會員先登錄。我們想得知顧客是否已經(jīng)登錄,并可以進行自動登錄怎么辦呢?cookie和session就可以知道。 比方網(wǎng)上購物,購物車怎么知道顧客挑選過哪些商品呢?cookie和session也可以記錄。 總而言之,cookie和session就是能夠記錄顧客狀態(tài)的技術(shù),盡管二者屬于不同的技術(shù),但只要cookie能做到的,session也能做到。什么是cookie8cookiecookie是在協(xié)議下,效勞器或腳本可以維護客戶端信息的一種方式。cookie是web效勞器保存在用戶瀏覽器上的小甜餅(一個很小的文本文件),她可以包含有關(guān)用戶的信息,常用于保存用戶名,密碼,個性化設(shè)置,個人偏好記錄等。當用戶訪問效勞器時,效勞器可以設(shè)置和訪問cookie的信息。cookie保存在客戶端,通常是IE或Firefox瀏覽器的cookie臨時文件夾中,可以手動刪除。注意:如果瀏覽器上cookie太多,超過了系統(tǒng)所允許的范圍,瀏覽器也會自動對它進行刪除。cookie工作原理9cookie當客戶訪問某個基于PHP技術(shù)的網(wǎng)站時,在PHP中可以使用setcookie()函數(shù)生成一個cookie,系統(tǒng)經(jīng)處理把這個cookie發(fā)送到客戶端并保存在某個目錄下或文件里,各瀏覽器的存放位置不同。cookie是HTTP標頭的一局部,因此setcookie()函數(shù)必須在HTML本身的任何內(nèi)容送到瀏覽器之前調(diào)用。這種限制與header()函數(shù)一樣。當客戶再次訪問該網(wǎng)站時,瀏覽器會自動把cookie保存內(nèi)容中與該站點對應的cookie發(fā)送到效勞器,效勞器那么把從客戶端傳來的cookie將自動地轉(zhuǎn)化成一個PHP變量。在PHP5中,客戶端發(fā)來的cookie將被轉(zhuǎn)換成全局變量。你可以通過$_COOKIE[‘xxx’]讀取。設(shè)置cookie10$value="thebestwayisbyyourself";
setcookie("cookiename",$value,time());cookie用于提交給表單自己處理一個cookie可以有6個屬性,常用的有3個參數(shù)。boolsetcookie(stringname,[ stringvalue,[intexpire,[stringpath,[stringdomain,[intsecure]]]]]);cookie的名字cookie的值設(shè)置cookie的過期時間和日期,形式為UNIX時間戳path:效勞器端的有效路徑。domain:設(shè)定cookie有效域名secure:設(shè)置是否僅在s平安連接時才發(fā)送cookie到客戶端,0或1。接收和處理cookie11$value="thebestwayisbyyourself";
setcookie("cookiename",$value,time());setcookie("cookiename");cookiePHP對cookie有很好的支持,和form表單一樣,在接收的時候PHP會自動從web效勞器接收HTTP頭并且分析它。接收的時候和表單接收一樣,用$_COOKIE[“cookiename〞]刪除cookie12cookie要刪除一個已經(jīng)存在的cookie,有兩個方法:
1、調(diào)用只帶有name參數(shù)的setcookie,那么名為這個name的cookie將被從客戶機上刪掉;setcookie(“MyCookie〞);//刪除MyCookie。
2、設(shè)置Cookie的失效時間為time()或time()-1,
setcookie(“MyCookie〞,〞Value〞,time()-1);要注意的是,當一個Cookie被刪除時,它的值在當前頁仍然有效。如果要把cookie設(shè)置成在瀏覽器關(guān)閉后就失效。那么可以直接把expiretime設(shè)為0,或者不設(shè)置此值。例如:setcookie(“name〞,〞value〞,0)。什么是session13sessionSession從用戶訪問頁面開始,到斷開與網(wǎng)站連接為止,形成一個會話的生命周期。在會話期間,分配客戶唯一的一個SessionID,用來標識當前用戶,與其他用戶進行區(qū)分。Session會話時,SessionID會分別保存在客戶端和效勞器端兩個位置,對于客戶端使用臨時的Cookie保存〔Cookie名稱為PHPSESSID〕或者通過URL字符串傳遞,效勞器端也以文本文件形式保存在指定的Session目錄中。Session通過ID接受每一個訪問請求,從而識別當前用戶、跟蹤和保持用戶具體資料,以及Session變量〔在Session活動期間,可在Session中存儲數(shù)字或文字資料〕,比方session_name等等,這些變量信息保存在效勞器端。SessionID可以作為會話信息保存到數(shù)據(jù)庫中,進行Session持久化,這樣可以跟蹤每個用戶的登陸次數(shù)、在線與否、在線時間等。目錄什么是會話處理配置指令處理會話實際的會話處理例如創(chuàng)立定制的會話處理程序小結(jié)配置指令php.ini中的配置指令15Session_save_handlerSession.save_pathSession.auto_startSession.use_cookiesSession.use_trans_sidSession.cookie_lifetimeSession.cookie_pathSession.cookie_domainSession.referer_checkSession.cache_limiterSession.cache_expireSession.gc_maxlifetime目錄什么是會話處理配置指令處理會話實際的會話處理例如創(chuàng)立定制的會話處理程序小結(jié)開始會話17建議在第一行輸出,但不是必須的。處理會話booleansession_start()銷毀會話18處理會話去除在當前會話中的所有變量booleansession_unset()完全銷毀對話booleansession_destroy()設(shè)置和獲取會話ID19處理會話去除在當前會話中的所有變量booleansession_unset()完全銷毀對話booleansession_destroy()設(shè)置和獲取會話ID20<?phpsession_start();echo"你的sessionid是:".session_id();?>處理會話stringsession_id()創(chuàng)立和刪除會話變量21<?phpsession_start();$_SESSION["username"]="tomcat";echo$_SESSION["username"];unset($_SESSION["username"]);echo$_SESSION["username"];?>處理會話$_SESSION[“sessionname〞]=sessionvalueUnset($_SESSION[“sessionname〞]);編碼和解碼會話數(shù)據(jù)22<?phpsession_start();$_SESSION["username"]="tomcat";$_SESSION["password"]="tomcat";echosession_encode();?>處理會話name|s:length:〞value〞;name|s:length:〞value〞;session_encode();session_decode()編碼和解碼會話數(shù)據(jù)23<?phpsession_start();session_decode('username|s:6:"tomcat";password|s:6:"tomcat";');echo$_SESSION['username'].'<br/>';echo$_SESSION['password'];?>處理會話name|s:length:〞value〞;name|s:length:〞value〞;session_encode();session_decode()重新生成會話ID24<?phpsession_start();echosession_id().'<br/>';session_r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糖尿病模型討論與分析
- 物業(yè)客服部員工培訓
- 露天礦山安全培訓課件經(jīng)典
- 互聯(lián)網(wǎng)平臺會計勞動合同
- 城市綜合體外保溫施工合同
- 生物科技辦公樓施工承包合同
- 山東影劇院建設(shè)合同
- 墻紙施工合同幼兒園歡樂世界
- 地下商場建設(shè)鉆探施工合同
- 教育信息化項目招投標攻略
- 2024-2025學年北京市海淀區(qū)名校初三第二學期期中練習化學試題含解析
- 孫中山誕辰紀念日主題班會主題班會
- (正式版)SH∕T 3541-2024 石油化工泵組施工及驗收規(guī)范
- 【中考真題】2024年江西省初中學業(yè)水平考試歷史真題試卷(含答案)
- 內(nèi)科知識練習題庫(附答案)
- 【易錯題】蘇教版數(shù)學六年級上冊第5單元《分數(shù)四則混合運算》易錯題強化訓練卷(含答案)
- 云南省高中學業(yè)水平考試數(shù)學考題分類匯編以及知識點穿插
- 頭暈眩暈診斷與治療
- 物業(yè)反恐應急演練方案(2篇)
- 揚州邗江區(qū)2023-2024六年級英語上冊期中試卷及答案
- 2024年遼寧石化職業(yè)技術(shù)學院單招職業(yè)適應性測試題庫含答案
評論
0/150
提交評論