国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP中Session會(huì)話的使用和分析

瀏覽:3日期:2024-01-11 15:47:52

Session的中文譯名叫做“會(huì)話”,其本來(lái)的含義是指有始有終的一系列動(dòng)作/消息,比如打電話時(shí)從拿起電話撥號(hào)到掛斷電話這中間的一系列過(guò)程可以稱之為一個(gè)Session。目前社會(huì)上對(duì)Session的理解非常混亂:有時(shí)候我們可以看到這樣的話“在一個(gè)瀏覽器會(huì)話期間,...”,這里的會(huì)話是指從一個(gè)瀏覽器窗口打開(kāi)到關(guān)閉這個(gè)期間;也可以看到“用戶(客戶端)在一次會(huì)話期間”這樣一句話,它可能指用戶的一系列動(dòng)作(一般情況下是同某個(gè)具體目的相關(guān)的一系列動(dòng)作,比如從登錄到選購(gòu)商品到結(jié)賬登出這樣一個(gè)網(wǎng)上購(gòu)物的過(guò)程;然而有時(shí)候也可能僅僅是指一次連接;其中的差別只能靠上下文來(lái)推斷了。

然而當(dāng)Session一詞與網(wǎng)絡(luò)協(xié)議相關(guān)聯(lián)時(shí),它又往往隱含了“面向連接”和/或“保持狀態(tài)”這樣兩個(gè)含義,“面向連接”指的是在通信雙方在通信之前要先建立一個(gè)通信的渠道,比如打電話,直到對(duì)方接了電話通信才能開(kāi)始。“保持狀態(tài)”則是指通信的一方能夠把一系列的消息關(guān)聯(lián)起來(lái),使得消息之間可以互相依賴,比如一個(gè)服務(wù)員能夠認(rèn)出再次光臨的老顧客并且記得上次這個(gè)顧客還欠店里一塊錢(qián)。這一類的例子有“一個(gè)TCP Session”或者“一個(gè)POP3 Session”。

鑒于這種混亂已不可改變,要為Session下個(gè)定義就很難有統(tǒng)一的標(biāo)準(zhǔn)。而在閱讀Session相關(guān)資料時(shí),我們也只有靠上下文來(lái)推斷理解了。不過(guò)我們可以這樣理解:例如我們打電話,從撥通的那一刻起到掛斷電話期間,因?yàn)殡娫捯恢北3种油ǖ臓顟B(tài),所以把這種接通的狀態(tài)叫做Session。它是訪客與整個(gè)網(wǎng)站交互過(guò)程中一直存在的公有變量,在客戶端不支持COOKIE的時(shí)候,為了保證數(shù)據(jù)正確、安全,就采用Session變量。訪問(wèn)網(wǎng)站的來(lái)客會(huì)被分配一個(gè)唯一的標(biāo)識(shí)符,即所謂的會(huì)話 ID。它要么存放在客戶端的 cookie,要么經(jīng)由 URL 傳遞。

Session的發(fā)明填補(bǔ)了HTTP協(xié)議的局限:HTTP協(xié)議被認(rèn)為是無(wú)狀態(tài)協(xié)議,無(wú)法得知用戶的瀏覽狀態(tài),當(dāng)它在服務(wù)端完成響應(yīng)之后,服務(wù)器就失去了與該瀏覽器的聯(lián)系。這與HTTP協(xié)議本來(lái)的目的是相符的,客戶端只需要簡(jiǎn)單的向服務(wù)器請(qǐng)求下載某些文件,無(wú)論是客戶端還是服務(wù)器都沒(méi)有必要紀(jì)錄彼此過(guò)去的行為,每一次請(qǐng)求之間都是獨(dú)立的,好比一個(gè)顧客和一個(gè)自動(dòng)售貨機(jī)或者一個(gè)普通的(非會(huì)員制)大賣場(chǎng)之間的關(guān)系一樣。

因此通過(guò)Session(cookie是另外一種解決辦法)記錄用戶的有關(guān)信息,以供用戶再次以此身份對(duì)web服務(wù)器提起請(qǐng)求時(shí)作確認(rèn)。會(huì)話的發(fā)明使得一個(gè)用戶在多個(gè)頁(yè)面間切換時(shí)能夠保存他的信息。網(wǎng)站編程人員都有這樣的體會(huì),每一頁(yè)中的變量是不能在下一頁(yè)中使用的(雖然form,url也可以實(shí)現(xiàn),但這都是非常不理想的辦法),而Session中注冊(cè)的變量就可以作為全局變量使用了。

那么Session到底有什么用處呢?網(wǎng)上購(gòu)物時(shí)大家都用過(guò)購(gòu)物車,你可以隨時(shí)把你選購(gòu)的商品加入到購(gòu)物車中,最后再去收銀臺(tái)結(jié)帳。在整個(gè)過(guò)程中購(gòu)物車一直扮演著臨時(shí)存貯被選商品的角色,用它追蹤用戶在網(wǎng)站上的活動(dòng)情況,這就是Session的作用,它可以用于用戶身份認(rèn)證,程序狀態(tài)記錄,頁(yè)面之間參數(shù)傳遞等。

Session的實(shí)現(xiàn)中采用COOKIE技術(shù),Session會(huì)在客戶端保存一個(gè)包含Session_id(Session編號(hào))的COOKIE;在服務(wù)器端保存其他Session變量,比如Session_name等等。當(dāng)用戶請(qǐng)求服務(wù)器時(shí)也把Session_id一起發(fā)送到服務(wù)器,通過(guò) Session_id提取所保存在服務(wù)器端的變量,就能識(shí)別用戶是誰(shuí)了。同時(shí)也不難理解為什么Session有時(shí)會(huì)失效了。

當(dāng)客戶端禁用COOKIE時(shí)(點(diǎn)擊IE中的“工具”—“Internet選項(xiàng)”,在彈出的對(duì)話框里點(diǎn)擊“安全”—“自定義級(jí)別”項(xiàng),將“允許每個(gè)對(duì)話COOKIE”設(shè)為禁用),Session_id將無(wú)法傳遞,此時(shí)Session失效。不過(guò)php5在linux/unix平臺(tái)可以自動(dòng)檢查 cookie狀態(tài),如果客戶端設(shè)置了禁用,則系統(tǒng)自動(dòng)把Session_id附加到url上傳遞。windows主機(jī)則無(wú)此功能。

Session常見(jiàn)函數(shù)及用法

Session_start() :開(kāi)始一個(gè)會(huì)話或者返回已經(jīng)存在的會(huì)話。

說(shuō)明:這個(gè)函數(shù)沒(méi)有參數(shù),且返回值均為true。如果你使用基于cookie的Session(cookie-based Sessions),那么在使用Session_start()之前瀏覽器不能有任何輸出,否則會(huì)發(fā)生以下錯(cuò)誤:

Warning: Cannot send Session cache limiter - headers already sent (output started at /usr/local/apache/htdocs/cga/member/1.php:2)……

你可以在php.ini里啟動(dòng)Session.auto_start=1,這樣就無(wú)需每次使用Session之前都要調(diào)用 Session_start()。但啟用該選項(xiàng)也有一些限制,如果確實(shí)啟用了 Session.auto_start,則不能將對(duì)象放入會(huì)話中,因?yàn)轭惗x必須在啟動(dòng)會(huì)話之前加載以在會(huì)話中重建對(duì)象。

請(qǐng)求結(jié)束后所有注冊(cè)的變量都會(huì)被序列化。已注冊(cè)但未定義的變量被標(biāo)記為未定義。在之后的訪問(wèn)中這些變量也未被會(huì)話模塊定義,除非用戶以后定義它們。

有些類型的數(shù)據(jù)不能被序列化因此也就不能保存在會(huì)話中。包括 resource 變量或者有循環(huán)引用的對(duì)象(即某對(duì)象將一個(gè)指向自己的引用傳遞給另一個(gè)對(duì)象)。

標(biāo)簽: PHP
主站蜘蛛池模板: a黄视频 | 乱子伦一级在线现看 | 亚洲精品综合一区二区三区 | 天堂影院jav成人天堂免费观看 | 亚洲精品免费视频 | 国内视频一区二区 | 一级美国片免费看 | 久久在线视频免费观看 | 欧美性aaa| 深夜爽爽爽gif福利免费 | 成年人网站免费在线观看 | 久草视频免费看 | 亚洲国产欧美一区 | 波多野一区二区三区在线 | 午夜寂寞福利 | 欧美japanese孕交| 日本一区二区三区在线 视频 | 成人性视频免费网站 | 成人福利网站在线看视频 | 美女美女大片黄a大片 | 在线免费看一级片 | 亚洲精品一区二区四季 | 刺激免费视频 | 亚洲成人网页 | 亚洲综合国产一区在线 | 欧美一级人与动毛片免费播放 | 日本高清在线中文字幕网 | 6一10周岁毛片免费 6一12呦女精品 | 怡红院最新免费全部视频 | 美女黄18| 国产欧美一级片 | 国内精品伊人久久久久妇 | 美国毛片一级视频在线aa | 一级毛片在线免费播放 | 美国一级毛片完整高清 | 456主播喷水在线观看 | 日本高清一本二本三本如色坊 | 深夜福利视频在线观看免费播放 | 亚洲一区浅井舞香在线播放 | 美女被免费网站在线视频软件 | 久久午夜影视 |