• PHP Video Tutorials

PHP - session_destroy() Function



Definition and Usage

Sessions or session handling is a way to make the data available across various pages of a web application. The session_status() function returns the status of the current session.

Syntax

session_destroy();

Parameters

This function does not accept any parameters.

Return Values

This function returns a boolean value which is TRUE if the session is destroyed successfully and FALSE if not.

PHP Version

This function was first introduced in PHP Version 4 and works in all the later versions.

Example 1

Following example demonstrates the usage of the session_destroy() function.

<?php
   //Starting the session
   session_start();   
   if( isset( $_SESSION['counter'] ) ) {
      $_SESSION['counter'] += 1;
   } else {
      $_SESSION['counter'] = 1;
   }	
   $msg = "You have visited this page ". $_SESSION['counter'];
   $msg .= " in this session.";
   if ($_SESSION['counter'] >5){
      session_destroy();
      echo "Session Destroyed ";
   }
?>
<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  echo ( $msg ); ?>
   </body>   
</html> 

One executing the above html file it will display the following message −

You have visited this page 1 times in this session.

The number in the message keeps changing based on the number of times you refresh the page without closing the browser. If you refresh this page more than 5 times the session will be destroyed and following message will be displayed.

Session Destroyed You have visited this page 6 in this session. 

Example 2

Following is another example of this function, in here we have two pages from the same application in the same session −

session_page1.htm

<?php
   if(isset($_POST['SubmitButton'])){ 
      //Starting the session	
      session_start();
      $_SESSION['name'] = $_POST['name'];
      $_SESSION['age']  = $_POST['age'];
      print("Enter the values click Submit and click on Next");
      //Destroying the session
      session_destroy();
   }
?>
<html>
   <body>
      <form action="#" method="post">
         <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 echo '<br><br /><a href="session_page2.htm">Next</a>'; ?>
      </form>
   </body>
</html> 

This will produce the following output −

Session start

On clicking on Next the following file is executed.

session_page2.htm

<html>   
   <head>
      <title>Second Page</title>
   </head>
   <body>
      <?php
         //Session started
         session_start();
         print($_SESSION['name']); 
         echo "<br>";
         print($_SESSION['age']);
      ?>   
   </body>   
</html>

Usually, this program should display the entered name and age values entered in the previous page in the same session as −

Krishna
30

Since we have destroyed the session in the first previous page itself, on clicking Next following errors will be displayed.

Notice: Undefined index: name in session_page2.htm on line 9
Notice: Undefined index: age in session_page2.htm on line 11
php_function_reference.htm
Advertisements