使用JavaScript进行PHP页面重定向

8

一个小问题!我有一个在PHP文件中的登录表单。我已经使用JavaScript验证了该表单。在登录成功的情况下,我将用户重定向到他们的主页。

我使用了header("Location:index.php")

我知道头信息必须在发送任何输出到浏览器之前。我的问题是是否有任何绕过此重定向的方法?


尝试使用输出缓冲来使header()函数在头部已经发送的情况下仍能正常工作。 - Jhonathan H.
1
合理使用头文件,将头文件相关的函数放在开头。我认为在发送任何输出后使用“then”没有必要。使用MVC模式。 - user2193789
5个回答

23

您可以使用

<script>
    window.location = 'http://www.example.com/newlocation';
</script>

在响应头信息发送后进行重定向。


我尝试了这个...但现在JavaScript验证没有进行? - anshu
那么...我只能使用服务器端验证了,对吧?还是有更好的方法? - anshu

2
如果您正在使用JavaScript,请使用以下代码:
window.location.href = "index.php";

2

如果您准备使用JavaScript,可以使用以下任何一种方法之一。

1.window.location.assign('http://www.example.com');
2.window.location = 'http://www.example.com';
3.window.location.href = 'http://www.example.com';

1

我只是想在之前的回答中补充一点。 如果你想使用JavaScript进行重定向,从服务器端生成脚本更安全。

<?php
$script = "<script>
window.location = 'http://www.example.com/newlocation';</script>";
echo $script;
?>

你能详细说明一下吗?为什么它更安全? - simplegamer

1
除了使用 header() 进行重定向外,您还可以使用 meta 刷新方法或 JS window.location 方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接