PHP學習筆記-->013 PHP Sessions

PHP session 變量用於存儲有關用戶會話的信息,或更改用戶會話的設置。Session 變量保存的信息是單一用戶的,而且可供應用程序中的全部頁面使用。php


PHP Session 變量

因爲 HTTP 地址不能維持狀態,經過在服務器上存儲用戶信息以便隨後使用,PHP session 解決了這個問題。不過, 會話信息是臨時的,在用戶離開網站後將被刪除。若是須要永久儲存信息,能夠把數據存儲在數據庫中。

Session 的工做機制是:爲每一個訪問者建立一個惟一的 id (UID),並基於這個 UID 來存儲變量。UID 存儲在 cookie 中,亦或經過 URL 進行傳導。html

開始 PHP Session

在把用戶信息存儲到 PHP session 中以前,首先必須啓動會話。數據庫

註釋:session_start() 函數必須位於 <html> 標籤以前:服務器

<?php session_start(); ?>
<html>
<body>
</body>
</html>

上面的代碼會向服務器註冊用戶的會話,開始保存用戶信息,同時會爲用戶會話分配一個 UID。cookie

存儲 Session 變量

使用 PHP $_SESSION存儲和取回 session 變量:session

<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

輸出:ide

Pageviews=1

eg:函數

建立 page-view 計數器。isset() 函數檢測是否已設置 "views" 變量。若是已設置 "views" 變量,累加計數器。若是 "views" 不存在,則建立 "views" 變量,並把它設置爲 1:網站

<?php
session_start();

if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;

else
  $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

終結 Session

刪除某些 session 數據,能夠使用 unset() 或 session_destroy() 函數。spa

unset() 函數用於釋放指定的 session 變量:

<?php
unset($_SESSION['views']);
?>

也能夠經過 session_destroy() 函數完全終結 session:

<?php
session_destroy();
?>

註釋:session_destroy() 將重置 session,將失去全部已存儲的 session 數據。

相關文章
相關標籤/搜索