PHP - session_regenerate_id() 函式



定義和用法

會話或會話處理是一種使資料可在 Web 應用程式的各個頁面中使用的方法。session_regenerate_id() 函式生成一個新的會話 ID,並使用新建立的 ID 更新當前會話 ID。

語法

session_regenerate_id([$delete_old_session]);

引數

序號 引數及描述
1

delete_old_session (可選)

這是一個布林值,用於指定是否刪除舊的關聯會話檔案。如果傳遞 TRUE 作為值,則刪除,否則不刪除。

返回值

返回一個布林值,成功則為 TRUE,否則為 FALSE。

PHP 版本

此函式首次在 PHP 4 版本中引入,並在所有後續版本中均有效。

示例 1

以下示例演示了 session_regenerate_id() 函式的用法。

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  
         //Creating a custom session id
         session_id("my-id");
         //Starting the session
         session_start();   
         print("Id: ".session_id());

         session_regenerate_id();
         echo "<br>";
         print("New Session Id: ".session_id());		 
      ?>
   </body>   
</html>

執行上述 HTML 檔案後,將顯示以下訊息:

Id: my-id
New Session Id: sm6tplqv1e2dhchnv75d7i3bic

示例 2

以下是此函式的另一個示例。

session_page1.htm

<html>
   <body>
      <?php
         //Starting the session	
         $id = session_create_id();	
         session_id($id);
         print("\n"."Id: ".$id);
         session_start();  
        
         session_regenerate_id();
         echo "<br>";
         print("New Session Id: ".session_id());	 
      ?>
   </body>
</html>

這將產生以下輸出:

Id: r30p6i4cnu0qs683lsu8bchv5u
New Session Id: jj24l3eumtps2nudqa0gm843qr

示例 3

您可以刪除舊的會話檔案,如下所示:

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  
         //Creating a custom session id
         session_id("my-id");
         //Starting the session
         session_start();   
         print("Id: ".session_id());

         session_regenerate_id(TRUE);
         echo "<br>";
         print("New Session Id: ".session_id());		 
      ?>
   </body>   
</html>

執行上述 HTML 檔案後,將顯示以下訊息:

Id: my-id
New Session Id: k5dli3nl4lf6vogu156r4qb0l1
php_function_reference.htm
廣告