程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP Session 用法與Sessions入實例應用

PHP Session 用法與Sessions入實例應用

編輯:關於PHP編程

PHP Session 用法與Sessions入實例應用


session 出現頭信息已經發出的原因與cookie一樣.
    在php教程5中,所有php session 的注冊表配置選項都是編程時可配置的,一般情況下,我們是不用修改其配置的.要了解php的session注冊表配置選項,請參考手冊的Session 會話處理函數處.
      session的保存數據的時候,是通過系列化$_SESSION數組來存貯,所以有系列化所擁有的問題,可能有特殊字符的值要用base64_encode函數編碼,讀取的時候再用base64_decode解碼

 


下面是一個簡單的腳本,你應該在你的PHP代碼開始的地方開始了一個PHP的會話。

<?php
session_start(); // start up your PHP session!
?>

這小片的代碼將注冊與服務器的用戶的會話,讓您開始儲蓄用戶信息和分配一個UID(獨特的識別號碼該用戶的會話)。

存儲會話變量
當你要存儲在會話用戶數據使用了$ _SESSION關聯數組。這是你們兩個存儲和檢索會話數據。在以前的PHP版本中還有其他方法來執行此存儲操作,但它已被更新,這是正確的方式去做。

<?php
session_start();
$_SESSION['views'] = 1; // store session data
echo "Pageviews = ". $_SESSION['views']; //retrieve data
?>
看個簡單購物車實例

<?php
session_start(); 
if(isset($_SESSION['views']))
    $_SESSION['views'] = $_SESSION['views']+ 1;
else
    $_SESSION['views'] = 1;

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

<?php
session_start(); 
if(isset($_SESSION['cart']))
    unset($_SESSION['cart']);
?>

<?php
session_start();
session_destroy();
?>


session使用實例

<?php
/**
 * 效驗session的合法性
 *
 */
function sessionVerify() {
    if(!isset($_SESSION['user_agent'])){
        $_SESSION['user_agent'] = MD5($_SERVER['REMOTE_ADDR']
        .$_SERVER['HTTP_USER_AGENT']);
    }
    /* 如果用戶session ID是偽造,則重新分配session ID */
    elseif ($_SESSION['user_agent'] != MD5($_SERVER['REMOTE_ADDR']
    . $_SERVER['HTTP_USER_AGENT'])) {
        session_regenerate_id();
    }
}

/**
 * 銷毀session
 * 三步完美實現,不可漏
 *
 */
function sessionDestroy() {
    session_destroy();
    setcookie(session_name(),'',time()-3600);
    $_SESSION = array();
}
?>


session解決了一個PHP允許你存儲上以供日後使用(即用戶名,購物車中的物品等)服務器的用戶信息這個問題。不過,本次session的信息是暫時的,通常會被刪除後,很快用戶已經離開了網站,它使用會話。

重要的是要思考,如果session的臨時存儲是適用於您的網站。如果你需要一個較長期儲存,你需要找到另一種解決方案,像一個MySQL數據庫教程。

session的工作創造一個獨特的識別碼(UID)為每個訪問者,並在此基礎身份證儲存變數。這有助於防止兩個用戶的數據獲取與另一次混亂的時候訪問同一網頁。

注:如果您不與會話編程經驗,不建議您使用在網站上,需要高度安全session,因為有安全漏洞,需要一些先進的技術,以堵塞。

啟動一個PHP會話
在您可以開始在你的PHP會話存儲用戶信息,您必須首先啟動了session。當您啟動一個會話,它必須在您的代碼的開頭很之前任何HTML或文本,發送。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved