|
需要注意的是,一個(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(niǎo)用戶通過(guò)Session定義的全局變量$user=“jane”。那么在A用戶所訪問(wèn)的php腳本中,$user的值就是wind。
php技術(shù):PHP中Session的概念,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。