首頁 >後端開發 >php教程 >php中如何註冊和讀取Session會話

php中如何註冊和讀取Session會話

伊谢尔伦
伊谢尔伦原創
2017-04-26 11:42:133320瀏覽

註冊Session會話   

#在php中使用Session 變數,除了必須要啟動,還要經過一個註冊的過程,註冊並讀取Session 變量,都要透過存取 $_SESSION 數組完成。 從PHP 4.1.0版本起,$_SESSION 如同 $_POST、$_GET和 $_COOKIE等一樣成為超級全域數組,但必須在呼叫  session_start() 函數開啟 Session 之後才能使用。 與 $HTTP_SESSION_VARS 不同,$_SESSION總是具有全域的範圍,因此不要對 $_SESSION 使用 global 關鍵字。 在 $_SESSION 關聯數組中的鍵名具有和 PHP中 普通變數名稱相同的命名規則。

會話變數建立後,全部都保存在陣列  $_SESSION 中。透過陣列  $_SESSION建立一個會話變數很容易,只要直接為該陣列新增一個元素就好了。

例如如下的範例會啟動會話,建立一個 Session 變數並賦予一個空值,程式碼是如下的:

<?php
  session_start();                                       // 启动 Session
  $_SESSION[&#39;name&#39;] = null;                   // 声明一个名为 admin 的变量,并设置为空值 null。
?>

執行腳本以後, Session 變數就會被保存在伺服器端的某一個資料夾中。改文件的位置是透過 php.ini 文件,在 session.save_path 屬性指定的目錄下,為這個訪問使用者單獨建立一個文件,用來保存已經註冊的 Session 變數。打個比方, 某個保存Session 變數的文件名為類似「 sess_09403850rf7sk39s67 」 的形式,文件名中包含了 Session ID,所以每個訪問用戶在伺服器中都有自己的保存Session 變量文件,而且這個文件可以直接使用文字編輯器來開啟。此文件的內容結構如下所示:

變數名稱| 類型: 長度:值             #//每個變數都適用相同的結構來保存

如上所述來舉一個簡單的例子:

<?php
  //启动 session
   session_start();
  //注册 session 变量,赋值为一个用户名称
  $_SESSION[&#39;usermane&#39;] = "sky";
  //注册 session 变量,赋值为一个用户id
  $_SESSION[&#39;uid&#39;] = 1;
?>

上面的實例中Session 註冊了兩個變量,如果在伺服器中找到為該用戶保存 Session 變量的文件,開啟後可看到以下的內容:

username | s:6: "sky";   uid | i:1:"1";                      // 儲存使用者的中點兩個變數的內容

讀取Session會話   

首先需要判斷會話變數是否有一個會話ID存在,如果不存在,就創建一個,並且使其能夠透過全域數組$_SESSION 進行存取;如果已經存在,則將這個已經建立的會話變數載入以提供給使用者使用。

例如:判斷儲存使用者名稱的  Session 會話變數是否為空,如果不為空,則將該會話變數賦予 $my_value,其程式碼顯示如下:

<?php
  if(!empty($_SESSION[&#39;session_name&#39;])){       //判断存储用户名的  Session 会话变量是否为空
    $my_value = $_SESSION[&#39;session_name&#39;];     //将会话变量赋予一个变量 $my_value
  }
?>

以上是php中如何註冊和讀取Session會話的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn