PHP - função session_destroy ()
Definição e Uso
Sessões ou tratamento de sessão é uma maneira de disponibilizar os dados em várias páginas de um aplicativo da web. osession_status() função retorna o status da sessão atual.
Sintaxe
session_destroy();
Parâmetros
Esta função não aceita nenhum parâmetro.
Valores Retornados
Esta função retorna um valor booleano que é TRUE se a sessão for destruída com sucesso e FALSE se não.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP Versão 4 e funciona em todas as versões posteriores.
Exemplo 1
O exemplo a seguir demonstra o uso do session_destroy() função.
<?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>
Ao executar o arquivo html acima, será exibida a seguinte mensagem -
You have visited this page 1 times in this session.
O número na mensagem muda constantemente com base no número de vezes que você atualiza a página sem fechar o navegador. Se você atualizar esta página mais de 5 vezes, a sessão será destruída e a mensagem a seguir será exibida.
Session Destroyed You have visited this page 6 in this session.
Exemplo 2
A seguir está outro exemplo desta função, aqui temos duas páginas do mesmo aplicativo na mesma sessão -
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>
Isso produzirá a seguinte saída -
Ao clicar em Next o seguinte arquivo é executado.
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>
Normalmente, este programa deve exibir os valores de nome e idade inseridos na página anterior na mesma sessão que -
Krishna
30
Como destruímos a sessão na própria página anterior, ao clicar em Avançar, os erros a seguir serão exibidos.
Notice: Undefined index: name in session_page2.htm on line 9
Notice: Undefined index: age in session_page2.htm on line 11