PHP Sessions问题,请帮忙

时间:2010-09-15 10:24:25

标签: php mysql session logging

我正在为我朋友的游戏制作物品商店,在访问商店时,我会检查会话以查看您是否已登录,如果您是,它会带您到商店,如果您不是它会给你一个登录页面,我这样做就是这样。

<?php 
  if($_SESSION['LoggedIn'] == 1)
  {
      //Shop stuff here
  }
  else
  {
    //Login stuff here
  }
?>

但是,它在未登录时显示错误。

注意:未定义的索引:第29行的C:\ wamp \ www \ shop \ shop.php中的LoggedIn,第29行if($_SESSION['LoggedIn'] == 1)我希望在不禁用PHP错误的情况下阻止这种情况发生,任何想法怎么样?

6 个答案:

答案 0 :(得分:3)

请改为:

if (isset($_SESSION['LoggedIn']) && $_SESSION['LoggedIn'] == 1)

答案 1 :(得分:2)

使用isset()

if(isset($_SESSION['LoggedIn']) && $_SESSION['LoggedIn'] == 1) {
  // ...
}

答案 2 :(得分:1)

为了给答案添加一些变化,我想给你empty

if(!empty($_SESSION['LoggedIn'])){
    //Shop stuff here
}
else{
    //Login stuff here
}

答案 3 :(得分:0)

您可以使用

if(isset($_SESSION['LoggedIn']))
{
    //Shop stuff here
}
else
{
    //Login stuff here
}

答案 4 :(得分:0)

要使用$ _SESSION,首先使用session_start();

指令启动会话非常重要
session_start();

if($_SESSION['LoggedIn'] == 1)
{
  //Shop stuff here
}
else
{
//Login stuff here
}

如果此语句不存在,则会话将不会打开,这意味着您已经放在那里的每个信息都将无法访问,因此在阅读或写入$ _SESSION时要小心

答案 5 :(得分:-1)

......或政治上不正确的答案if (@$_SESSION['LoggedId'] == 1) {...};)