Php 为什么不是';我的会话数据在发布到同一页面后是否正在更新?

Php 为什么不是';我的会话数据在发布到同一页面后是否正在更新?,php,session,post,redirect,header,Php,Session,Post,Redirect,Header,我在想为什么会这样。我将让用户成为@login.php并输入他们的登录凭证,如下面的面板(1)所示 然后,在成功地将他们的凭据与存储在数据库中的凭据进行匹配之后,我将分配一个$_SESSION['username']变量,页面将发布到自身(action=“”),并提醒用户会话变量已设置 理想情况下,我不想提醒用户会话变量已设置,只要在用户单击登录(并成功验证)后立即自动开始使用$_session['username']变量即可 我怎样才能做到这一点?我试着通过放一些类似的东西来搞乱标题 <

我在想为什么会这样。我将让用户成为@login.php并输入他们的登录凭证,如下面的面板(1)所示

然后,在成功地将他们的凭据与存储在数据库中的凭据进行匹配之后,我将分配一个$_SESSION['username']变量,页面将发布到自身(action=“”),并提醒用户会话变量已设置

理想情况下,我不想提醒用户会话变量已设置,只要在用户单击登录(并成功验证)后立即自动开始使用$_session['username']变量即可

我怎样才能做到这一点?我试着通过放一些类似的东西来搞乱标题

<? if (isset($_SESSION['username'])) {
header("Location: index.php");
exit();
?>

但是我一直收到一个headers ready sent错误,因为一些输出(比如我的CSS、JS文件)位于login.php页面上的表单验证逻辑之前

操作顺序

将会话创建和有效性检查测试放在页面顶部,以便页面的其余部分可以判断是否存在
$\u会话['username']


(很可能是您试图在内容区域内验证它们,因此您的“yay”或“ney”消息会显示在文档的所需部分。不错,是的,但整个页面的上半部分都看不到它[可能]是有效的会话。)

为什么不移动您的
标题()
在所有其他东西输出之前,先到页面顶部?@Kyle,可能是我。从来没想过,太棒了!成功了。谢谢我想它效率更高,但看起来确实有点混乱。@bob_cobb:您可以将显示文本存储在变量中,然后将其输出到您希望看到的地方。;-)