【发布时间】:2012-12-20 17:24:49
【问题描述】:
可能重复:
Why I have to call ‘exit’ after redirection through header(‘Location..’) in PHP?
为了在不登录的情况下无法访问mainpage.php,我使用以下代码启动mainpage.php:
<?php
session_start();
if(!isset($_SESSION['name'])){
header("Refresh: 0; url=hauptseite_slim.php");
}
?>
<!DOCTYPE html>
...
这正是我想要的,但是,问题是,它非常丑陋,因为有一会儿,主页出现了。我怎样才能避免这种影响?
【问题讨论】:
-
通过不输出页面。通常建议使用
exit(header(..));。Location:可能是更好的选择。 -
只是一个注意......这个: if(!isset($_SESSION['name'])) 不应该用于检查用户是否登录。会话可能很容易劫持。每次页面加载时都应重新验证用户。
-
ebay、facebook 和 google 等网站如何让用户保持登录状态?
-
通过在每次页面加载时重新生成会话ID,调用会话值、数据库值和浏览器cookie,通过验证方法/函数运行它们,并返回值。
-
header("location:page.php"); exit;- 退出会停止加载任何其他代码。