【发布时间】:2011-09-22 09:10:11
【问题描述】:
假设我有一个用户可以登录的表单,当用户填写表单时,它会发回同一页面,检查用户名和密码是否有错误,如果一切顺利,则让用户登录。目前我正在通过在这种情况下加载表单来做到这一点:
if($_SERVER['REQUEST_METHOD'] != 'POST') {
如果不是这样,则检查错误并登录等。
问题是这一切都发生在signin.php。在signin.php 的顶部,我包括header.php 和connect.php,它们的功能与它们的名字所暗示的完全一样。当我发回页面时,登录状态的更改未显示在头文件中(此文件中有一个用户栏,本质上与本网站上的用户栏相似)。登录有效,但我必须导航到不同的页面,标题才能显示“登录”而不是“登录/注册”或其他任何内容。
我是否以错误的方式解决了这个问题,或者我需要添加一些东西来更新我的标题?干杯。
P.S:我对php很陌生,所以最好不要太复杂。
【问题讨论】:
-
重定向到其他页面标题("Location: ".$url);或者您可以重定向同一页面。它会得到解决。如果在重定向之前浏览器有输出,请使用元刷新或 javascript 重定向。
-
@mahadeb 根本不应该在浏览器中输出任何东西。
-
登录完成后,使用这个 - header('Location: ' . basename($_SERVER['REQUEST_URI']));出口;用于页面重定向。在此代码块之前记住一件事,不应该有任何输出到浏览器,甚至没有任何空间输出。