本文目錄一覽:
php 怎麼使用session
PHP session用法其實很簡單它可以把用戶提交的數據以全局變數形式保存在一個session中並且會生成一個唯一的session_id,這樣就是為了多了不會產生混亂了,並且session中同一瀏覽器同一站點只能有一個session_id,下面我們一起來看看關於session使用方法。
如何使用session,凡是與session有關的,之前必須調用函數session_start();
為session賦值很簡單,如:
?php
Session_start();
$Name = “這是一個Session例子”;
Session_Register(“Name”);//注意,不要寫成:Session_Register(“$Name”);
Echo $_SESSION[“Name”];
//之後$_SESSION[“Name”]為”這是一個Session例子”
?
在php4.2之後,可以為session直接賦值:
複製代碼 代碼如下:
?PHP
Session_Start();
$_SESSION[“name”]=”value”;
?
如何嚴格設置php中session過期時間
設定過期時間參數, 主要是設定session.gc_maxlifetime 的參數即可, 再保險一點的設定, 就設定下面這兩個參數.
ini_set(‘session.cookie_lifetime’, 0); // 可用print_r(session_get_cookie_params()); 觀察
ini_set(‘session.gc_maxlifetime’, 3600); // 可用echo ini_get(“session.gc_maxlifetime”); 觀察
session_cookie_lifetime 設為0 的話, 代表等到browser 才把此cookie 清掉.(session 和browser cookie 是有相關的)
下面給你一段源碼參考session過期時間
下述源碼轉載自: Cross-Browser Session Starter
?php
function start_session($expire = 0)
{
if ($expire == 0) {
$expire = ini_get(‘session.gc_maxlifetime’);
} else {
ini_set(‘session.gc_maxlifetime’, $expire);
}
if (empty($_COOKIE[‘PHPSESSID’])) {
session_set_cookie_params($expire);
session_start();
} else {
session_start();
setcookie(‘PHPSESSID’, session_id(), time() + $expire);
}
}
?
使用方式
於程式最上方加入: start_session(600); // 代表600 秒後會過期(取代原本session_start())
如果要再延長過期時間, 只要再做修改即可.
但是有個問題要注意, 就是PHP 的session 預設是存成file, 所以/tmp 可能會因這樣設定而爆掉(檔案太多), 通常解法是把session 存進DB/memcache 中.
—————
至於如何嚴格的設置這裡我給你提供方案
首先登錄後設置session有效10分鐘
然後用戶有任何動左重置成10分鐘
10分鐘的原因是避免查看長篇文章突然session失效重新登錄
php中如何使用SESSION
1、在php中使用session,首先要啟動session會話,啟動session會話要使用php內置函數session_start(),如圖所示。
2、 然後session_start()函數必須位於html標籤之前才可使用,如圖所示。
3、啟動 session會話之後,用php內置的數組對象$_SESSION[]來進行存儲,新建一個index.php文件。
4、在index.php文件中,敲寫如下代碼,即可存儲內容到session中。
5、存完之後就可以,把剛才存的key值來取出來就可以了,使用【echo $_SESSION[‘views’]】命令。
6、在瀏覽器中輸入localhost:8080/jingyan/ssy/index.php,即可看到存進$_SESSION 變數中的值了。
原創文章,作者:SKZK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/131364.html