PHP切换案例问题

时间:2010-06-04 11:49:06

标签: php switch-statement

我有一个名为loggedon的会话变量。我在用户登录时将其设置为1,在注销时将其设置为0.

我做了如下所示的swtich声明。但它没有按预期工作。

    $state = $_SESSION['loggedon'];
    switch ($state)
      {
        case 0:
          include("../includes/login.php");
          break;
        case 1:
          echo "logged in";
          echo "<br /><a href='../logoff.php'>Log off</a>";
        break;
        default:
          include("../includes/login.php");
}

任何人都明白为什么?

干杯,

Jonesy

2 个答案:

答案 0 :(得分:1)

如果$ _SESSION ['loggedon'] var的内容只是0/1,你可以使用if语句(PHP将1读为true,其余数字为false),这将更快一些。 只需执行以下操作:

if($_SESSION['loggedon']){
      echo "logged in";
      echo "<br /><a href='../logoff.php'>Log off</a>";
 }else{
      include("../includes/login.php");
 }

请记住,您需要session_start();

答案 1 :(得分:0)

switch ($_SESSION['loggedon'])
  {
    case 1:
      echo "logged in";
      echo "<br /><a href='../logoff.php'>Log off</a>";
    break;
    default:
      include("../includes/login.php");

}

不那么冗长,应该这样做:-) 很抱歉代码没有被格式化为代码...