當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 存儲配置 » phpsession存儲對象

phpsession存儲對象-九游会j9娱乐平台

發布時間: 2024-02-08 01:33:47

ⅰ 請問一下php的session如何用如何接收前一個頁面表單傳過來的值並保存在session中

session 可以直接使用,在開頭先運行session_start(),在程序中他是一個超變數,每次請求都可以調用。直接$_session[「name」] = $value來使用,獲取變數值直接使用$_session[「name」],表單傳遞不需要用session,直接獲取$_post[「name」],傳過來的值想保存到session,$_session[「name」] = $_post[「name」];就可以了,如有更多疑問請回復。

ⅱ php中如何使用session

1、在php中使用session,首先要啟動session會話,啟動session會話要使用php內置函數session_start(),如圖所示。

ⅲ php數組裡面存放對象

樓上解釋正確,不過我補充一下。
既然初始化是在類聲明之後,那麼可以通過手動串列化和反串列化來達到目的。
保存的時候使用serialize來保存,提取恢復的時候使用unserialize來恢復。
當然,這個還有一個要注意的地方,需要保存的對象最好是只包含數據,意思是,不要有資料庫連接資源、文件資源之類的,如果包含這些,串列和反串列的結果都是一個int 0,反串列的時候可能不能正常工作。
至於對象串列反串列的一些可定製的功能,可以參考幫助文檔的這個部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通過定義魔術函數__sleep __wakeup來實現。

ⅳ php中$_session[]是什麼意思

用戶會話保存變數

1.php文件
session_start();
$_session["str"]="我是中國人!!!";
?>

2.php文件
session_start();
echo $_session["str"];
?>

先執行1.php,,再執行2.php,,會看到在1.php裡面設置的變數被輸出了,,就這作用,,用來保存跨域的變數

樓上說的不對,,session雖說是保存在伺服器端,,但對客戶端仍有數據發送,並且是以cookie的方式,,如果客戶端禁用了cookie,,session也是用不了的.....還有,,session也是可以造假的...並不一定百分之一百安全

ⅳ 關於php中session取值的問題

在php中使用過session的朋友可能會碰到這么一個問題,session變數不能跨頁傳遞。這令我苦惱了好些日子,最終通過查資料思考並解決了這個問題。我認為,出現這個問題的原因有以下幾點:

1、客戶端禁用了cookie

2、瀏覽器出現問題,暫時無法存取cookie

3、php.ini中的session.use_trans_sid = 0或者編譯時沒有打開--enable-trans-sid選項

為什麼會這樣呢?下面我解釋一下:

session儲存於伺服器端(默認以文件方式存儲session),根據客戶端提供的session id來得到用戶的文件,取得變數的值,session id可以使用客戶端的cookie或者http1.1協議的query_string(就是訪問的url的「?」後面的部分)來傳送給伺服器,然後伺服器讀取session的目錄……。也就是說,session id是取得存儲在服務上的session變數的身份證。當代碼session_start();運行的時候,就在伺服器上產生了一個session文件,隨之也產生了與之唯一對應的一個session id,定義session變數以一定形式存儲在剛才產生的session文件中。通過session id,可以取出定義的變數。跨頁後,為了使用session,你必須又執行session_start();將又會產生一個session文件,與之對應產生相應的session id,用這個session id是取不出前面提到的第一個session文件中的變數的,因為這個session id不是打開它的「鑰匙」。如果在session_start();之前加代碼session_id($session id);將不產生新的session文件,直接讀取與這個id對應的session文件。

php中的session在默認情況下是使用客戶端的cookie來保存session id的,所以當客戶端的cookie出現問題的時候就會影響session了。必須注意的是:session不一定必須依賴cookie,這也是session相比cookie的高明之處。當客戶端的cookie被禁用或出現問題時,php會自動把session id附著在url中,這樣再通過session id就能跨頁使用session變數了。但這種附著也是有一定條件的,即「php.ini中的session.use_trans_sid = 1或者編譯時打開打開了--enable-trans-sid選項」。

明白了以上的道理,現在我們來拋開cookie使用session,主要途徑有三條:

1、設置php.ini中的session.use_trans_sid = 1或者編譯時打開打開了--enable-trans-sid選項,讓php自動跨頁傳遞session id。

2、手動通過url傳值、隱藏表單傳遞session id。

3、用文件、資料庫等形式保存session_id,在跨頁過程中手動調用。

通過例子來說明吧:

s1.php

session_start();
$_session['var1']="中華人民共和國";
$url="下一頁";
echo$url;
?>
s2.php
session_start();
echo"傳遞的session變數var1的值為:".$_session['var1'];
?>

運行以上代碼,在客戶端cookie正常的情況下,應該可以在得到結果「中華人民共和國」。

現在你手動關閉客戶端的cookie,再運行,可能得不到結果了吧。如果得不到結果,再「設置php.ini中的session.use_trans_sid = 1或者編譯時打開打開了--enable-trans-sid選項」,又得到結果「中華人民共和國」

這也就是上面所說的途徑1。

下面再說途徑2:

修改的代碼如下:

s1.php

session_start();
$_session['var1']="中華人民共和國";
$sn=session_id();
$url="下一頁";
echo$url;
?>
s2.php
session_id($_get['s']);
session_start();
echo"傳遞的session變數var1的值為:".$_session['var1'];
?>
辦法3還是通過例子來說明:
login.html



login



請登錄:

用戶名:

口令:





mylogin1.php
$name=$_post['name'];
$pass=$_post['pass'];
if(!$name||!$pass){
echo"用戶名或密碼為空,請重新登錄";
die();
}
if(!($name=="laogong"&&$pass=="123")){
echo"用戶名或密碼不正確,請重新登錄";
die();
}
//注冊用戶
ob_start();
session_start();
$_session['user']=$name;
$psid=session_id();
$fp=fopen("e:\tmp\phpsid.txt","w ");
fwrite($fp,$psid);
fclose($fp);
//身份驗證成功,進行相關操作
echo"已登錄
";
echo"下一頁";
?>
mylogin2.php
$fp=fopen("e:\tmp\phpsid.txt","r");
$sid=fread($fp,1024);
fclose($fp);
session_id($sid);
session_start();
if(isset($_session['user'])&&$_session['user']="laogong"){
echo"已登錄!";
}
else{
//成功登錄進行相關操作
echo"未登錄,無權訪問";
echo"請登錄後瀏覽";
die();
}
?>

同樣請關閉cookie測試,用戶名:laogong 密碼:123 這是通過文件保存session id的,文件是:e: mpphpsid.txt,請根據自己的系統決定文件名或路徑。

至於用資料庫的方法,我就不舉例子了,與文件的方法類似。

總結一下,上面的方法有一個共同點,就是在前一頁取得session id,然後想辦法傳到下一頁,在下一頁的session_start();代碼之前加代碼session_id(傳過來的session id);

熱點內容
androidapk版本號 發布:2024-02-10 00:04:16 瀏覽:990
培訓學校源碼 發布:2024-02-09 23:57:28 瀏覽:687
pythonifaandb 發布:2024-02-09 23:36:26 瀏覽:264
javarsa私鑰加密 發布:2024-02-09 23:36:17 瀏覽:239
python證書微軟認證 發布:2024-02-09 23:34:27 瀏覽:999
wlan沒有ip配置怎麼解決 發布:2024-02-09 23:24:19 瀏覽:532
javatoexe 發布:2024-02-09 22:48:53 瀏覽:418
路由器撥號賬號密碼在哪裡 發布:2024-02-09 22:29:30 瀏覽:164
ssd緩存是什麼 發布:2024-02-09 22:00:12 瀏覽:626
簡單游腳本試用破解 發布:2024-02-09 21:42:34 瀏覽:41
网站地图