【发布时间】:2011-07-10 20:54:22
【问题描述】:
我试图弄清楚为什么会发生这种情况。我会让用户成为@login.php 并输入他们的登录凭据,如下面的面板 (1) 所示。
然后在成功地将他们的凭据与存储在数据库中的凭据进行匹配后,我将分配一个 $_SESSION['username'] 变量并将页面发布到自身(action=""),然后我会提醒已设置会话变量的用户。
理想情况下,我不想提醒用户会话变量已设置,而只需在他们单击登录后立即自动开始使用该 $_SESSION['username'] 变量(并成功验证)。
我怎样才能做到这一点?我试图通过放置类似的东西来弄乱标题
<? if (isset($_SESSION['username'])) {
header("Location: index.php");
exit();
?>
但我不断收到 headers already sent 错误,因为某些输出(如我的 CSS、JS 文件)在 login.php 页面上的表单验证逻辑之前。
【问题讨论】:
-
为什么不在所有其他内容输出之前将您的
header()移动到页面顶部? -
@Kyle,我可能是。从来没有这样想过。
标签: php session post redirect header