我无法通过“ header('Location:URL');”来更改位置(URL)
我有一个模态表单,我使用Jquery $ .post方法提交以创建一个新用户,在从POST数据创建User之前,在控制器中检查邮件或名称是否免费。 因此,我制作了一个简单的if-else控件,该控件具有一些位置,用于显示URL GET中的错误。 从表面上看,它很简单,即使没有进行优化,也必须能很好地工作,而无需为此项目做更多的工作。
预期:
If user exist:
reload with user error in the URL;
elseif mail exist:
reload with mail error in the URL;
else:
createNewUser(data);
真实代码:
if(User::userExist($userName)){
header('Location: index.php?action=users&error=userAlreadyExist');
die();
}
我想重新加载页面/ URL并显示新数据错误以显示给用户。
自动取款机正常(接收到数据,ifelse控件正常),但是代码未与标头一起重新放置。
我尝试了不使用Jquery并通过正常的发布/提交将其传递,但这是同样的问题。
在这两种情况下,我的行为很神奇。 当我更改位置时,例如: header('Location:index.php?action = loginFail');
页面不会重新定位,但是如果我刷新(F5)页面,她将继续在该位置。 想要的URL并非如此,而是一个问题,为什么?
我可以修改全局行为以使其起作用。 但是花点时间在这个项目上并没有真正的收获(这是一个基本的学生项目,只需要php,这部分已经超出了预期)
但是我真的很想了解标题为何在这里不起作用?
不确定是否一切都清楚...我会尽力解释,但我有些困惑。