Session 注销后未定义的会话变量
我做了一个登录页面,引导你进入主页。 在主页上我写了这样的代码:Session 注销后未定义的会话变量,session,login,logout,Session,Login,Logout,我做了一个登录页面,引导你进入主页。 在主页上我写了这样的代码: session_start(); <?php echo 'welcome, '. $_SESSION['email']; ?> session_start(); 这将欢迎任何人登录主页。如果有人从主页上注销,也会导致他进入主页。就像从论坛登录和注销一样。一切正常,但问题是当我从主页注销或未登录时,主页中出现错误: 注意:未定义的变量:\在第25行的C:\wamp\www\index.php中的会话 我如
session_start();
<?php echo 'welcome, '. $_SESSION['email']; ?>
session_start();
这将欢迎任何人登录主页。如果有人从主页上注销,也会导致他进入主页。就像从论坛登录和注销一样。一切正常,但问题是当我从主页注销或未登录时,主页中出现错误:
注意:未定义的变量:\在第25行的C:\wamp\www\index.php中的会话
我如何解决这个问题
这是我的注销代码:
<?php
session_start();
session_destroy();
header("location:index.php");
?>
您的注销代码是什么样子的?您是否使用unset($\u SESSION)而不是SESSION\u destroy?您的注销代码是什么样子的?是否使用未设置($\u会话)而不是会话销毁?进行简单检查以查看会话是否已设置:
<?php
session_start();
if(isset($_SESSION['email']) === true){
// Say "Welcome"
echo 'Welcome, ' . $_SESSION['email'];
} else {
// Do nothing, the session is not set
}
?>
编辑:我已经阅读了您的评论,我建议logout.php代码为:
<?php
session_start();
// Destroy the sessions
// If you have more sessions, add more like below, but replace email if it is different:
// unset($_SESSION['session_name']);
unset($_SESSION['email']);
session_destroy();
header("Location: index.php");
?>
进行简单检查,查看会话是否已设置:
<?php
session_start();
if(isset($_SESSION['email']) === true){
// Say "Welcome"
echo 'Welcome, ' . $_SESSION['email'];
} else {
// Do nothing, the session is not set
}
?>
编辑:我已经阅读了您的评论,我建议logout.php代码为:
<?php
session_start();
// Destroy the sessions
// If you have more sessions, add more like below, but replace email if it is different:
// unset($_SESSION['session_name']);
unset($_SESSION['email']);
session_destroy();
header("Location: index.php");
?>
我把它放在我的quisition中,index.php中的session\u start是第一件事(或者至少在html标记之前)?我把它放在我的quisition中,index.php中的session\u start是第一件事(或者至少在html标记之前)?