我有以下PHP代码:
if(!isset($_SESSION)) {
session_destroy();
header('Location: register.php'); //redirect to the orginal form
} else {
$businessOwnerID = $_SESSION['business_owner_id']; //The Business owner ID
$mobileValidation = $_SESSION['mobile_validation'];
}
我不知道为什么它没有重定向到register.php
我尝试通过session_destroy()来销毁所有会话;但它也无效
答案 0 :(得分:5)
因为你显然不想确定是否有会话(几乎总会有)但是如果设置了特定的会话属性,你应该这样做:
if(!isset($_SESSION['business_owner_id'], $_SESSION['mobile_validation']))
{
session_destroy();
header('Location: register.php'); //redirect to the original form
}
...
答案 1 :(得分:0)
调用$_SESSION
后,session_start()
超级全局将始终设置。
相反,您应该检查是否设置了特定值:
if(!isset($_SESSION['business_owner_id'])) {
session_destroy();
header('Location: register.php'); //redirect to the orginal form
} else {
$businessOwnerID = $_SESSION['business_owner_id']; //The Business owner ID
$mobileValidation = $_SESSION['mobile_validation'];
}