我进行了一系列检查,以确定用户是否有资格访问页面,如果他们被拒绝访问,我当前会提醒他们,并使用Javascript重定向他们。我意识到可以很容易地关闭Javascript并绕过重定向,所以我添加了一个使用PHP重定向它们的语句。
<script>
window.alert("Access denied.");
window.location.href='index.php';
</script>
<noscript>
<?php header('Location: index.php'); ?>
</noscript>
这更好吗?还是我应该用不同的方式重定向?
感谢
首先:在输出任何内容之前,您需要从PHP发送头(因为这样头就已经发送了)。
所以你应该在你的脚本顶部做这样的事情:
<?php
if ($user_is_eligible) {
header('Location: index.php');
die();
}
die();
部分很重要,因为它确保脚本停止在那里,并且不会发送任何可能不让用户看到的内容。