我在页面的侧边栏中嵌入了一个登录表单。一旦用户登录使用它,我希望它重定向回相同的页面,从他们登录。
这很容易实现。但是,当登录函数完成并重定向到原始页面时,它实际上并没有刷新它。登录表单从表单更改为用户信息显示。尽管用户现在实际正在登录,但它仍然显示登录表单。
我试过使用
header ( "refresh:0;url=url.php" );但是,我无法获得用户所来自的URL来正确解析并重定向到它。
下面是我使用的代码
if( isset( $_POST['location'] ) ) {
$location = htmlspecialchars($_POST['location']);
header( "Location:" .HOME_PATH. urlencode($location) );
}是否有一种简单的方法来强制刷新,还是最好使用AJAX这样的方法来实现相同的目标。
我认为最简单的事情是使用刷新头,但是我不明白如何实现与我在位置中使用过的相同的效果。
编辑:
登录表单检查用户是否已登录,如果没有,则更改为显示而不是登录表单。
<?php if ( isset( $_SESSION['userName'] ) ) { ?>然后将表单发布到php函数。这个函数实际上执行用户的登录,一旦完成,它就重定向到他们来自的页面。这就是问题所在。返回重定向不会刷新页面,因此表单条件可以更改所显示的内容。
发布于 2013-09-06 20:20:02
header("Location: ...")不会停止页面的呈现。您需要在它后面放置一个exit来停止。
https://stackoverflow.com/questions/18665902
复制相似问题