停止退出功能,不显示页面的其余部分

时间:2014-05-14 22:04:22

标签: php function die

如果用户排名不高于1,则使用退出功能

问题是,如果使用退出功能,其后的任何代码都不会显示在页面上

让我们假装我的等级不高于1,这是发生的事情:

<?php
if($memberinfo3['rank'] < 1)
{
echo "<br><br>Your accounts rank is not sufficient to access this page.";
exit;
}
echo "Passed!";
?>

<?php include 'template/sidebar.php'; ?> <---- NOT DISPLAYED

<?php include 'template/footer.php'; ?> <---- NOT DISPLAYED

我想阻止退出功能不在页面的其余部分显示代码。我查看了退出,死亡和返回的文档,并且没有运气来解决我的问题

1 个答案:

答案 0 :(得分:0)

这是一个架构问题。 exit函数应该像这样运行。更好的解决方案是做这样的事情:

<?php
    if($memberinfo3['rank'] < 1) {
        require 'guest.php';
    } else {
        require 'logged-in.php';
    }
?>

尝试改为。

另一种选择是将它们重定向到其他地方。这可能比向用户显示错误信息更加清晰。

<?php
    if($memberinfo3['rank'] < 1) {
        header('Location: /homepage_location.php');
    }
?>

但请记住,如果使用header函数,则必须在刷新输出缓冲区之前执行语句(即,在echo之前,print或其他输出语句之前执行语句