• PHP
  • 常用語法介紹
  • session
  • import_contacts session的啟用、使用與清除
    14809
適用範圍

網站具有登入或是購物的功能,基本上就會使用的到,用來記錄資訊也來得相對安全。

實用性:
重要性:

Session的使用時機與生命週期

一般我們在製作會員登入、後台權限管理、購物、驗證碼…等,都很常會使用到session,通常session大約只會存活20分鐘左右,旦可以在php.ini裡設定修改存活時間。

Session的機制是記錄在server端,也就是會在server上產生session檔案,安全性也較高,相對的也會造成主機的負擔,server所產生的session檔案,php是有一定的機制去回收,旦也能從php.ini裡去修改回收的概率。

筆者建議可以設定排程去定期清理過久的session檔案,因為太多的session檔案會造成主機的負荷,長久下來會導至主機效能低落等擾人的問題。

啟用 Session

在要用到session的php頁面上,使用 session_start() 函式,此函式一定要放在網頁的「最上方」且還沒有輸出任何東西之前才行。

<?php 
session_start(); 

//在此函式下面才能使用session
?>
<html>
<body>
.....
</body>
</html>

存取session變數的使用方式

session的設定方式非常的簡單,需要指定session變數的名稱,再給予值即可。

session_start(); 

//在session_start();底下才能使用$_SESSION


//設定session並給予值
$_SESSION['my_name']='tester';

//將剛剛設定的session印出來
echo '我的名字:'.$_SESSION['my_name'];       

$_SESSION['my_age']='25';
echo '我的年齡:'.$_SESSION['my_age'];

echo '出生年份:'.(2018-(int)$_SESSION['my_age']);

清除session

session具備存活時間,即使不去清除,它也會自動消失,旦若要指定清除,可使用unset或session_destroy函式來將session清除掉。

session_start(); 

//在session_start();底下才能使用$_SESSION

unset($_SESSION['my_name']);   //將「指定」的session清除

session_destroy();      	   //清除使用中的session
補充說明/ NOTE

使用session就是這麼方便,即使在不同php的頁面也能調用出變數,旦需適時的使用,以免造成濫用導至主機或程式不穩定。