當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP session_name()用法及代碼示例



定義和用法

會話或會話處理是一種使數據跨 Web 應用程序的各個頁麵可用的方法。這session_name()函數用於命名當前會話或檢索會話的名稱。

用法

session_name([$name]);

參數

Sr.No 參數及說明
1

name(Optional)

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

返回值

如果你沒有傳遞任何參數,這個函數會返回一個表示當前會話名稱的字符串值。如果您已傳遞字符串值以使用此函數將名稱設置為當前會話,則返回舊會話的名稱。

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_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

點擊時Next執行以下文件。

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

您可以使用此函數設置自定義會話名稱,如下所示 -

<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 - session_name() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。