PHP - session_name() 函式



定義和用法

Session 或 session 處理是一種使資料在 Web 應用程式的各個頁面之間可用的一種方式。session_name() 函式用於命名當前 session 或檢索 session 的名稱。

語法

session_name([$name]);

引數

序號 引數和描述
1

name(可選)

這是一個字串值,表示 session 的名稱,如果您想使用此方法設定 session 的名稱。

返回值

如果您沒有傳遞任何引數,則此函式將返回一個字串值,表示當前 session 的名稱。如果您傳遞了一個字串值來使用此函式設定當前 session 的名稱,則將返回舊 session 的名稱。

PHP 版本

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

示例 1

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

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  
         //Starting the session
         session_start();   
         $name = session_name();
         print("Session Name: ".$name);
      ?>
   </body>   
</html>

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

Session Name: PHPSESSID

示例 2

以下是此函式的另一個示例,此處我們有兩個來自同一應用程式的頁面在同一 session 中:

session_page1.htm

html>
   <body>
      <form action="#" method="post">
         <label for="fname">Enter the values click Submit and click on Next</label>
         <br><br><label for="fname">Name:</label>
         <input type="text" id="name" name="name"><br><br>
         <label for="lname">Age:</label>
         <input type="text" id="age" name="age"><br><br>           
         <input type="submit" name="SubmitButton"/>
         <?php 
            if(isset($_POST['SubmitButton'])){ 
               //Setting the session name	
               session_name("my_session");
               //Starting the session	  
               session_start();  
               $_SESSION['name'] = $_POST['name'];
               $_SESSION['age']  = $_POST['age'];	  
               print("<br><br>Session name: ".session_name());
            }
            echo '<br><br><a href="session_page2.htm">Next</a>';
         ?>
      </form>
   </body>
</html>

這將產生以下輸出:

Session start

按下提交後,頁面將如下所示:

Session name

單擊下一頁將執行以下檔案。

session_page2.htm

<html>   
   <head>
      <title>Second Page</title>
   </head>
   <body>
      <?php
         //Changing the session name again
         $s_name = session_name();
     
         //Starting a Session
         session_start();
        
         print($_SESSION['name']); 
         echo "<br><br>";
         print($_SESSION['age']); 	  
         echo "<br><br>";
         print("Previous Session Name: ".$s_name);
      ?>   
   </body>   
</html>

這將產生以下輸出:

Krishna
30
Previous Session Name: PHPSESSID

示例 3

您可以使用此函式設定自定義 session 名稱,如下所示:

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  
         //Starting the session
         session_start();   
         $id = session_create_id("test-");
         print("Id: ".$id);
      ?>
   </body>   
</html> 

執行上述 html 檔案後,將顯示以下訊息。

Id: test-es6j8171lluesjrokpvqqb4b4d
php_function_reference.htm
廣告