PHP中Session的概念
更新時(shí)間:2006年10月09日 00:00:00 作者:
什么是Session呢?Session直接翻譯成中文比較困難,一般都譯成時(shí)域。在計(jì)算機(jī)專業(yè)術(shù)語中,Session是指一個(gè)終端用戶與交互系統(tǒng)進(jìn)行通信的時(shí)間間隔,通常指從注冊進(jìn)入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過的時(shí)間。具體到Web中的Session指的就是用戶在瀏覽某個(gè)網(wǎng)站時(shí),從進(jìn)入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)過的這段時(shí)間,也就是用戶瀏覽這個(gè)網(wǎng)站所花費(fèi)的時(shí)間。因此從上述的定義中我們可以看到,Session實(shí)際上是一個(gè)特定的時(shí)間概念。
需要注意的是,一個(gè)Session的概念需要包括特定的客戶端,特定的服務(wù)器端以及不中斷的操作時(shí)間。A用戶和C服務(wù)器建立連接時(shí)所處的Session同B用戶和C服務(wù)器中建立連接時(shí)所處的Sessions是兩個(gè)不同的Session。
那什么是Session的解決方案呢?我們知道,用戶訪問一個(gè)網(wǎng)站時(shí)往往需要瀏覽許多網(wǎng)頁。對于一個(gè)通過PHP構(gòu)筑的網(wǎng)站來說,用戶在訪問的過程中需要執(zhí)行許多的PHP腳本。然而由于HTTP協(xié)議自身的特點(diǎn),用戶每執(zhí)行一個(gè)PHP腳本都需要和Web服務(wù)器重新建立連接。又由于無狀態(tài)記憶的特點(diǎn),此次連接無法得到上次連接的狀態(tài)。這樣,用戶在一個(gè)PHP腳本中對一個(gè)變量進(jìn)行了賦值操作,而在另外一個(gè)PHP腳本中卻無法得到這個(gè)變量的值。例如,用戶在負(fù)責(zé)登錄的PHP腳本中設(shè)置了$user="wind",卻無法在另一個(gè)PHP腳本中通過調(diào)用$user來獲得“wind”這個(gè)值。也就是說,在PHP中無法設(shè)置全局變量。每個(gè)PHP腳本中所定義的變量都是只在這個(gè)腳本內(nèi)有效的局部變量。
Session解決方案,就是要提供在PHP腳本中定義全局變量的方法,使得這個(gè)全局變量在同一個(gè)Session中對于所有的PHP腳本都有效。上面我們提到了,Session不是一個(gè)簡單的時(shí)間概念,一個(gè)Session中還包括了特定的用戶和服務(wù)器。因此更詳細(xì)地講,在一個(gè)Session定義的全局變量的作用范圍,是指這個(gè)Session所對應(yīng)的用戶所訪問的所有PHP。
例如A用戶通過Session定義了一個(gè)全局變量$user=“wind”中,而B用戶通過Session定義的全局變量$user=“jane”。那么在A用戶所訪問的PHP腳本中,$user的值就是wind。
需要注意的是,一個(gè)Session的概念需要包括特定的客戶端,特定的服務(wù)器端以及不中斷的操作時(shí)間。A用戶和C服務(wù)器建立連接時(shí)所處的Session同B用戶和C服務(wù)器中建立連接時(shí)所處的Sessions是兩個(gè)不同的Session。
那什么是Session的解決方案呢?我們知道,用戶訪問一個(gè)網(wǎng)站時(shí)往往需要瀏覽許多網(wǎng)頁。對于一個(gè)通過PHP構(gòu)筑的網(wǎng)站來說,用戶在訪問的過程中需要執(zhí)行許多的PHP腳本。然而由于HTTP協(xié)議自身的特點(diǎn),用戶每執(zhí)行一個(gè)PHP腳本都需要和Web服務(wù)器重新建立連接。又由于無狀態(tài)記憶的特點(diǎn),此次連接無法得到上次連接的狀態(tài)。這樣,用戶在一個(gè)PHP腳本中對一個(gè)變量進(jìn)行了賦值操作,而在另外一個(gè)PHP腳本中卻無法得到這個(gè)變量的值。例如,用戶在負(fù)責(zé)登錄的PHP腳本中設(shè)置了$user="wind",卻無法在另一個(gè)PHP腳本中通過調(diào)用$user來獲得“wind”這個(gè)值。也就是說,在PHP中無法設(shè)置全局變量。每個(gè)PHP腳本中所定義的變量都是只在這個(gè)腳本內(nèi)有效的局部變量。
Session解決方案,就是要提供在PHP腳本中定義全局變量的方法,使得這個(gè)全局變量在同一個(gè)Session中對于所有的PHP腳本都有效。上面我們提到了,Session不是一個(gè)簡單的時(shí)間概念,一個(gè)Session中還包括了特定的用戶和服務(wù)器。因此更詳細(xì)地講,在一個(gè)Session定義的全局變量的作用范圍,是指這個(gè)Session所對應(yīng)的用戶所訪問的所有PHP。
例如A用戶通過Session定義了一個(gè)全局變量$user=“wind”中,而B用戶通過Session定義的全局變量$user=“jane”。那么在A用戶所訪問的PHP腳本中,$user的值就是wind。
相關(guān)文章
php學(xué)習(xí)之簡單計(jì)算器實(shí)現(xiàn)代碼
php學(xué)習(xí)之簡單計(jì)算器實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-06-06一個(gè)阿拉伯?dāng)?shù)字轉(zhuǎn)中文數(shù)字的函數(shù)
一個(gè)阿拉伯?dāng)?shù)字轉(zhuǎn)中文數(shù)字的函數(shù)...2006-10-10一步一步學(xué)習(xí)PHP(4) php 函數(shù) 補(bǔ)充2
相信每個(gè)人在學(xué)習(xí)PHP之前至少都有著一定的C語言,或者是C++/Java/C#等其他語言的基礎(chǔ),所以在這里也不從頭開始說起,只是來談?wù)凱HP方法的獨(dú)特之處。2010-02-02PHP編程入門的基本語法知識(shí)點(diǎn)總結(jié)
這篇文章主要介紹了PHP編程入門的基本語法知識(shí)點(diǎn)總結(jié),包括PHP中所支持的數(shù)字類型與變量等基礎(chǔ)知識(shí),需要的朋友可以參考下2016-01-01談?wù)勑率秩绾螌W(xué)習(xí)PHP 默默經(jīng)典版本
從默默自己向別人問怎么學(xué)PHP開始,到后來不少人又來問默默怎么學(xué)PHP,不管默默是新手,還是老鳥,似乎總是感覺摸不出一條清晰的脈絡(luò)來,不過,默默既然學(xué)會(huì)了PHP,那么我走的這條路或多或少的有一定借鑒性。2009-08-08