PHP - función session_destroy ()
Definición y uso
Las sesiones o el manejo de sesiones es una forma de hacer que los datos estén disponibles en varias páginas de una aplicación web. lossession_status() La función devuelve el estado de la sesión actual.
Sintaxis
session_destroy();
Parámetros
Esta función no acepta ningún parámetro.
Valores devueltos
Esta función devuelve un valor booleano que es TRUE si la sesión se destruye con éxito y FALSE si no.
Versión PHP
Esta función se introdujo por primera vez en PHP versión 4 y funciona en todas las versiones posteriores.
Ejemplo 1
El siguiente ejemplo demuestra el uso de session_destroy() función.
<?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>
Al ejecutar el archivo html anterior, se mostrará el siguiente mensaje:
You have visited this page 1 times in this session.
El número en el mensaje cambia constantemente según la cantidad de veces que actualiza la página sin cerrar el navegador. Si actualiza esta página más de 5 veces, la sesión se destruirá y se mostrará el siguiente mensaje.
Session Destroyed You have visited this page 6 in this session.
Ejemplo 2
A continuación se muestra otro ejemplo de esta función, aquí tenemos dos páginas de la misma aplicación en la misma sesión:
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>
Esto producirá el siguiente resultado:
Al hacer clic en Next se ejecuta el siguiente archivo.
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>
Por lo general, este programa debe mostrar el nombre ingresado y los valores de edad ingresados en la página anterior en la misma sesión que:
Krishna
30
Dado que hemos destruido la sesión en la primera página anterior, al hacer clic en Siguiente se mostrarán los siguientes errores.
Notice: Undefined index: name in session_page2.htm on line 9
Notice: Undefined index: age in session_page2.htm on line 11