PHP超級全局變量——Session 變量


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

PHP Session 變量

  當您運行一個應用程序時,您會打開它,做些更改,然后關閉它。這很像一次會話。計算機清楚你是誰。它知道你何時啟動應用程序,並在何時終止。但是在因特網上,存在一個問題:服務器不知道你是誰以及你做什么,這是由於 HTTP 地址不能維持狀態。

  通過在服務器上存儲用戶信息以便隨后使用(比如做分頁設計的時候,把頁面的信息存放起來,頁面總條數,總頁數等等),PHP session 解決了這個問題(比如用戶名稱、購買商品等)。不過,會話信息是臨時的,在用戶離開網站后將被刪除。如果您需要永久儲存信息,可以把數據存儲在數據庫中。

  Session 的工作機制是:為每個訪問者創建一個唯一的 id (UID),並基於這個 UID 來存儲變量。UID 存儲在 cookie 中,亦或通過 URL 進行傳導。

開始 PHP Session

  在使用session之前,必須使用session_start() 函數啟動會話。

  服務器端:

<?php
  session_start();
  // store session data
  $_SESSION['views']=1;
?>

  前端:

<html>
<body>

<?php
  //retrieve session data
  echo "Pageviews=". $_SESSION['views'];
?>

</body>
</html>

  前端輸出結果為:

Pageviews=1

  下面是一個簡單的 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() 函數。

  可以使用unset()函數釋放指定的session變量:

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

  也可以通過 session_destroy() 函數徹底終結 session,這時所有的session數據都會消失

<?php
  session_destroy();
?>

 程序猿必讀


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM