-5

我的 PHP 代码向未登录的用户显示“请登录”不显示任何内容,它会在用户登录时显示他们的信息,但现在当他们不在这里时是我的代码:

<?php
    session_start();
    if (!$_SESSION['logged']) 
    { 
      header("Location: http://www.westbournegames.co.uk/login/login.php");
      exit;

    echo "Please login";

    exit(); 

    }
?>
4

3 回答 3

4

这是因为您有一个标头重定向并且exit();该文件永远不会到达该行:

echo "Please login";

于 2013-10-23T17:08:40.297 回答
0

未登录的用户将进入if分支。您应该习惯于!empty($_SESSION['logged']避免产生输出的 PHP 通知。

然后浏览器被“header”调用重定向,脚本退出。它永远无法到达您的“请登录”输出。

header()要显示这一点,您必须在 echo 之前删除和 exit 调用。

于 2013-10-23T17:11:48.433 回答
0

我建议像这样将 $_SESSION['logged'] 更改为 $_SESSION['views'] : $_SESSION['views']=1;

            <?php
            session_start();
            if ($_SESSION['views']!=1) { 
                header("Location: http://www.westbournegames.co.uk/login/login.php");
                }
            ?>
于 2013-10-23T17:15:54.600 回答