我创建了一个更新数据库的页面。我希望该页面在更新页面上的所有代码完成后(并在几秒钟后)自动将您发送回主页(显示数据库信息的页面)。
我将 header() 函数放入,但它似乎在执行任何代码之前重定向。标头是正确的使用方法吗?在代码和短暂延迟之后是否有另一种重定向方式?
是的,header()
会做这项工作。只需在数据库更新代码之后调用此代码:
header('Location: ...');
exit;
为什么要在重定向之前添加任何延迟?
执行 PHP 代码后,您应该能够使用 header() 重定向。确保您的 header() 调用位于您要在重定向之前运行的代码之后。
header() 是正确的重定向函数,但是 header() 函数仅在页面没有输出时才有效。
如果您可以在此处显示一些代码,那就太好了。
<?php
header('Location: http://www.example.com/');
?>
是的,但在你执行你的代码后做..
<?php
function foo(){
//do stuff here
header("Location: redirect.php");
exit();
}
确保在进行重定向之前不输出任何其他内容,否则会显示错误headers already sent
是的,使用header()
函数 with Location: xxx
,只需在代码完成活动后发送它。另请注意,为了使 header() 生效,在调用之前不能完成真正的页面输出header()
(尽管可以通过使用输出缓冲来克服这一点)。