运行一些PHP代码,然后重定向到新页面

时间:2011-02-07 07:47:21

标签: php html redirect

我希望人们能够在表单上单击“提交”,加载检查某些数据的页面,然后重定向到整个新页面。我知道你可以使用header()来重定向,但你不能用标题加载任何东西,我想在页面之间加载动画。实现这一目标的最佳方法是什么。

4 个答案:

答案 0 :(得分:6)

我会让表单将其数据提交到另一个页面(类似action="process.php")。

该页面处理您的表单发送的任何数据,显示一个漂亮的“加载”文本和动画,并在一段时间后将用户重定向到另一个页面。

这可以使用HTML的元刷新来完成,它位于您的<head>中,如下所示:

<meta http-equiv="refresh" content="3;url=anotherpage.php"> 

content属性是有趣的。 3表示3秒,anotherpage.php是经过3秒后重定向到的网站。

答案 1 :(得分:1)

作为替代方案,我建议在提交页面上使用最小的Javascript效果。 onsubmit您禁用提交按钮并在其附近显示微调器或类似动画,也可能添加“正在处理...”消息。然后页面可以通过正常的POST /重定向/ GET循环,它比通过中间页面更快,用户仍然感觉到正在发生的事情。

答案 2 :(得分:0)

如果已经发送了标题,那么这是我用来将浏览器发送到$ newLocation的PHP / JavaScript代码:

echo '<script language="javascript" type="text/javascript" >', PHP_EOL;
echo '<!--', PHP_EOL;
echo '      window.top.location.href = \'', $newLocation, '\'', PHP_EOL;
echo '// -->', PHP_EOL;
echo '</script>', PHP_EOL;

在我的情况下,我正在使用它来更好地在已经发送标题后从错误情况中恢复。

答案 3 :(得分:-3)

要在php中重定向,请使用header("Location: $url");