php header('Location:url')在代码的某些部分不起作用

时间:2019-06-19 06:18:58

标签: php

我无法通过“ 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,这部分已经超出了预期)

但是我真的很想了解标题为何在这里不起作用?

不确定是否一切都清楚...我会尽力解释,但我有些困惑。

0 个答案:

没有答案