PHP sessions that have already been started
Only if you want to destroy previous session :
<?php
if(!isset($_SESSION))
{
session_start();
}
else
{
session_destroy();
session_start();
}
?>
or you can use
unset($_SESSION['variable_session _data'])
to destroy a particular session variable.
Try
<?php
if(!isset($_SESSION))
{
session_start();
}
?>
If you want a new one, then do session_destroy()
before starting it.
To check if its set before starting it, call session_status()
:
$status = session_status();
if($status == PHP_SESSION_NONE){
//There is no active session
session_start();
}else
if($status == PHP_SESSION_DISABLED){
//Sessions are not available
}else
if($status == PHP_SESSION_ACTIVE){
//Destroy current and start new one
session_destroy();
session_start();
}
I would avoid checking the global $_SESSION
instead of I am calling the session_status()
method since PHP implemented this function explicitly to:
Expose session status via new function, session_status This is for (PHP >=5.4.0)