php session會話使用方法詳解

來源:互聯網
上載者:User

Session是什麼

Session是指有始有終的一系列動作或資訊,比如去看電影從進入影院到走出影院的整個過程可以稱為一個Session。Cookie將資料存放區在用戶端電腦上,而Session將不定量的變數儲存在伺服器端。

每一個使用者連結網站伺服器後便會產生一個Session,所以首先要告訴伺服器使用Session功能來儲存資料。啟用Session功能的方式有兩種:

1、使用session_start()函數啟動會話,其結構形式如下:

session_start()
函數不能帶參數,其傳回值為布爾型。

2、在php.ini中設定參數 session.auto_start,將此參數設為1,即當有串連到伺服器後Session功能將自動啟用。

啟動Session後,在使用Session變數之前首先要註冊變數,之後才能使用,反之不使用某個變數時就要取消註冊。Session_register(變數名)可以註冊一個Session變數;Session_unregister(變數名)可以取消註冊一個Session變數,例如:

 代碼如下 複製代碼

session_start(); /* 啟動session變數 */
session_register('user') /* 註冊user變數 */
session_unregister('user') /* 登出user變數 */

調用session變數

php session使用方法:用函數$_SESSION[]可以建立一個函數變數,其格式如下:

 代碼如下 複製代碼

$_SESSION['$string']=$str;

參數$string是要定義的變數名,$str是變數值。在調用時使用$_SESSION[$string]的格式。

執行個體:

 代碼如下 複製代碼

<?php
 session_start();
 $_SESSION['name']="Jane";
 $_SESSION['password']="888888";
 echo "使用者名稱是: " .$_SESSION['name'] ."<br>";
 echo "密碼是: " .$_SESSION['password'] ."<br>";
?>

session的使用

本站前面介紹了session的一些概念以及基本操作,這裡通過執行個體介紹php session使用的方法。

執行個體代碼:

 代碼如下 複製代碼

<?php
 session_start(); /* 啟動session */
 $_SESSION['name']="LIMing";
 $_SESSION['password']="888888";
 $_SESSION['time']=time();
 echo "<a href='session.php' target='_blank'>傳遞session</a><br />"
?>

session.php代碼:

 代碼如下 複製代碼
<?php
 session_start();
 echo "使用者名稱是:" .$_COOKIE['name'] ."<br>";
 echo "密碼是:" .$_SESSION['password'] ."<br>";
 echo "訪問時間是:" .date('Y m d H:i:s', $_SESSION['time']) ."<br>";
?>

 

擷取session_id的值

每一個session都有會被指定一個特定的id,用session_id來標識。我們可以通過session_id()函數查看當前session_id的值,其結構形式如下:

session_id()

執行個體:

 代碼如下 複製代碼

<?php
 session_start(); /* 啟動session */
 $id=session_id(); /* 擷取當前session_id */
 echo "當前sessionID是: " .$id;
?>

cookie與session的區別

session和cookie都是重要的會話管理應用,在許多的php開發項目都會用到。它們的作用是能夠給不同的使用者建立不同的值,從而讓不同的使用者返回的結果都不相同。

那麼session cookie區別在哪裡呢?

cookie是利用用戶端來建立,當使用者用瀏覽器開啟網站時就會給使用者建立一個cookie,這個過程是由使用者的電腦執行的,網站的伺服器只是發送一些指令。因此如果使用者禁止了cookie功能,則無法利用cookie來實現相關功能。

session則是利用服務端來建立,整個過程都由伺服器來執行,使用者無權幹預。

在運用時,如果你希望節約伺服器的資源,可以選用cookie來進行會話管理;如果你希望所有的瀏覽者都能使用會話管理,則應該選用session。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.