明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

PHP中Session的概念

[摘要]什么是Session呢?Session直接翻譯成中文比較困難,一般都譯成時(shí)域。在計(jì)算機(jī)專業(yè)術(shù)語(yǔ)中,Session是指一個(gè)終端用戶與交互系統(tǒng)進(jìn)行通信的時(shí)間間隔,通常指從注冊(cè)進(jìn)入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過(guò)的時(shí)間。具體到Web中的Session指的就是用戶在瀏覽某個(gè)網(wǎng)站時(shí),從進(jìn)入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)過(guò)...
什么是Session呢?Session直接翻譯成中文比較困難,一般都譯成時(shí)域。在計(jì)算機(jī)專業(yè)術(shù)語(yǔ)中,Session是指一個(gè)終端用戶與交互系統(tǒng)進(jìn)行通信的時(shí)間間隔,通常指從注冊(cè)進(jìn)入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過(guò)的時(shí)間。具體到Web中的Session指的就是用戶在瀏覽某個(gè)網(wǎng)站時(shí),從進(jìn)入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)過(guò)的這段時(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的解決方案呢?我們知道,用戶訪問(wèn)一個(gè)網(wǎng)站時(shí)往往需要瀏覽許多網(wǎng)頁(yè)。對(duì)于一個(gè)通過(guò)PHP構(gòu)筑的網(wǎng)站來(lái)說(shuō),用戶在訪問(wèn)的過(guò)程中需要執(zhí)行許多的PHP腳本。然而由于HTTP協(xié)議自身的特點(diǎn),用戶每執(zhí)行一個(gè)PHP腳本都需要和Web服務(wù)器重新建立連接。又由于無(wú)狀態(tài)記憶的特點(diǎn),此次連接無(wú)法得到上次連接的狀態(tài)。這樣,用戶在一個(gè)PHP腳本中對(duì)一個(gè)變量進(jìn)行了賦值操作,而在另外一個(gè)PHP腳本中卻無(wú)法得到這個(gè)變量的值。例如,用戶在負(fù)責(zé)登錄的PHP腳本中設(shè)置了$user="wind",卻無(wú)法在另一個(gè)PHP腳本中通過(guò)調(diào)用$user來(lái)獲得“wind”這個(gè)值。也就是說(shuō),在PHP中無(wú)法設(shè)置全局變量。每個(gè)PHP腳本中所定義的變量都是只在這個(gè)腳本內(nèi)有效的局部變量。
  Session解決方案,就是要提供在PHP腳本中定義全局變量的方法,使得這個(gè)全局變量在同一個(gè)Session中對(duì)于所有的PHP腳本都有效。上面我們提到了,Session不是一個(gè)簡(jiǎn)單的時(shí)間概念,一個(gè)Session中還包括了特定的用戶和服務(wù)器。因此更詳細(xì)地講,在一個(gè)Session定義的全局變量的作用范圍,是指這個(gè)Session所對(duì)應(yīng)的用戶所訪問(wèn)的所有PHP。
  例如A用戶通過(guò)Session定義了一個(gè)全局變量$user=“wind”中,而B用戶通過(guò)Session定義的全局變量$user=“jane”。那么在A用戶所訪問(wèn)的PHP腳本中,$user的值就是wind。





標(biāo)簽:PHP中Session的概念 

相關(guān)文章