注销后未定义的SESSION变量

时间:2013-07-16 17:44:04

标签: session login logout

我创建了一个登录页面,引导您进入主页面。 在主页面上我制作了这段代码:

 session_start();   
<?php  echo  'welcome, '. $_SESSION['email']; ?>

欢迎任何将登录主页的人。如果有人从主页面注销,它也会引导他进入主页面。就像从论坛登录和注销一样。 eveything工作正常,但问题是当我从主页面退出或当我没有登录时,我在主页面中收到错误:

注意:未定义的变量:第25行的C:\ wamp \ www \ index.php中的_SESSION

我该如何解决这个问题?

这是我的退出代码:

<?php
session_start();
session_destroy();
header("location:index.php");
?>

2 个答案:

答案 0 :(得分:1)

进行简单检查以查看会话是否已设置:

<?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");

?>

答案 1 :(得分:0)

您的退出代码是什么样的?你使用unset($ _ SESSION)而不是session_destroy吗?