溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP 中如何使用session會話處理函數

發布時間:2021-07-14 15:54:22 來源:億速云 閱讀:191 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關PHP 中如何使用session會話處理函數,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1. 開始會話

在把信息儲存到session之前,首先要開啟會話。php提供了session_start()函數來開始或者繼續一個會話。定義:

1 bool session_start( void ) 

調用如下:

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

注意:

(1)session_start()函數必須位于<html>標簽之前,也就是該函數必須在任何輸出前調用,常常在寫程序時不注意就多輸入了一個空格或者回車,這時就會報錯。應特別注意這一點。(我可是被坑過)

(2)無論有沒有成功創建會話,session_start()函數都會返回TRUE,因此使用任何異常處理都不起作用。

(3)還可以啟用配置指令session.auto_start,從而不必執行這個函數,但是這樣的話,每個php頁面執行時都會開始或者繼續一個會話。

2.存儲或者讀取會話

存儲和讀取session變量的正確方法是使用php的 S ESSION變量。 SESSION變量。_SESSION是php提供的全局參數,專門用來存儲和讀取session。(注意關聯數組的鍵名和普通變量的命名規則一致)

存儲會話時,可以對其直接賦值。

$_SESSION[‘season'] = '秋天'; 

以上設置了一個鍵名為“season”的會話元素,其值為“秋天”。當讀取時,就像調用普通數組元素一樣。

下面的兩段代碼顯示怎么存儲并讀取一個會話元素。

這是session1.php文件:

 <?php
 /**
  * Created by PhpStorm.
  * User: yuxiu
  * Date: //
  * Time: :
  */
 if(isset($_POST['submit'])){
   session_start();                //開始建立一個會話
   $_SESSION['season'] = $_POST['season'];    //存儲會話數據
   header("Location: session.php");      //應特別注意header()里的格式問題
 }
 ?>
 <b>存儲會話</b>
 <hr/>
 選擇需要設置的數據:
 <form name="form" method="post" action="" id="form" >
   <select name="season" id="season_select" >
     <option value="春天">春天</option>
     <option value="夏天">夏天</option>
     <option value="秋天">秋天</option>
     <option value="冬天">冬天</option>
   </select>
   <br/>
   <br/>
   <br/>
  <input type="submit" name="submit" value="submit"/>
 </form>

 這是session2.php文件:

 <?php
 /**
  * Created by PhpStorm.
  * User: yuxiu
  * Date: //
  * Time: :
  */
 session_start();  //建立或者繼續一個會話
 $season = $_SESSION['season'];    //讀取會話數據
 echo "<b>讀取會話</b><br/><br/>";
 switch ($season) {
   case '春天';
     echo '現在是綠意盎然的春天!';
     break;
   case '夏天';
     echo '現在是熱情四溢的夏天!';
     break;
   case '秋天';
     echo '現在是豐收果實的秋天!';
     break;
   case '冬天';
     echo '現在是白雪皚皚的冬天!';
     break;
   default ;
     echo '對不起,會話中沒有數據 或者 不存在該對話 !';
 }
 ?>

在session1.php中首先使用session_start()創建一個會話,然后對提交的季節數據使用數組賦值的方式存儲,最后使用header()函數直接跳轉到開始。在session2.php文件中,也同樣需要session_start()函數繼續一個會話并利用session數組調用會話信息。

3.銷毀會話

當會話不再被使用的時候,就需要人為的銷毀它,雖然php有自動銷毀會話的功能,但這樣會使程序的效率變低??梢允褂胾nset()函數或者session_destroy()函數。

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

  或者:

<?php
 session_destroy();   //注意,使用這個函數將重置session數組,即失去所有的已經儲存的session數據
?>

上述就是小編為大家分享的PHP 中如何使用session會話處理函數了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女