phpsession保存
❶ php的SESSION無法保存
您好,SESSION的存儲在伺服器端,但是session id(SESSION標識)的存儲是在客戶端的cookie中的。不同的瀏覽器訪問頁面保存的cookie是隔離的,所以session id是不同的,那麼服務端將會存儲不同的session值。您可以使用chrome查看一下這2個頁面的PHPSESSID的cookie值。
還有一種情況,當客戶端禁用cookie的時候,php可以通過url參數傳遞session參數,您可以到網上搜索一下相關的資料。
❷ 請問一下php的session如何用如何接收前一個頁面表單傳過來的值並保存在session中
session 可以直接使用,在開頭先運行session_start(),在程序中他是一個超變數,每次請求都可以調用。直接$_SESSION[「name」] = $value來使用,獲取變數值直接使用$_SESSION[「name」],表單傳遞不需要用session,直接獲取$_POST[「name」],傳過來的值想保存到session,$_SESSION[「name」] = $_POST[「name」];就可以了,如有更多疑問請回復。
❸ php session 數據保存在哪裡
當然是在伺服器端,但不是保存在內存中,而是保存在文件或資料庫中。
默認情況下,php.ini
中設置的
SESSION
保存方式是
files(session.save_handler
=
files),即使用讀寫文件的方式保存
SESSION
數據,而
SESSION
文件保存的目錄由
session.save_path
指定,文件名以
sess_
為前綴,後跟
SESSION
ID,如:sess_。文件中的數據即是序列化之後的
SESSION
數據了。
如果訪問量大,可能產生的
SESSION
文件會比較多,這時可以設置分級目錄進行
SESSION
文件的保存,效率會提高很多,設置方法
為:session.save_path="N;/save_path",N
為分級的級數,save_path
為開始目錄。
當寫入
SESSION
數據的時候,PHP
會獲取到客戶端的
SESSION_ID,然後根據這個
SESSION
ID
到指定的
SESSION
文件保存目錄中找到相應的
SESSION
文件,不存在則創建之,最後將數據序列化之後寫入文件。讀取
SESSION
數據是也是類似的操作流程,對讀出來的數據需要進行解序列化,生成相應的
SESSION
變數。