在重定向... meta-refresh之前使用Post / Redirect /获取数据?

时间:2013-01-05 20:13:10

标签: refresh post-redirect-get

我现在已经这样做了一段时间,但在PRG方面仍然感到困惑。我知道它是如何工作的,例如我会这样做:

if($_POST){
 header("Location: ".$_SERVER['REQUEST_URI']);
 exit();

}

因为它会停止用户刷新并再次将POST发送到服务器。但我一直得到“警告:无法修改标题信息 - 标题已经发送”等等等等等等。我知道这是因为重定向需要在任何空格或回声或文本等之前进行...所以在标题正上方是理想的!

但是如果我的表单被发送到一个没有标题或任何内容的随机.php页面(我可以处理数据和编辑数据库等),这对我来说更有意义 - 但这样我就不能包含任何一个Wordpress功能可以处理我的数据并完成我需要做的事情。就像我会包含几行Wordpress来允许我访问这些功能一样,但这样我就无法处理数据,然后重定向用户。

目前为了解决这个问题,我正在处理数据并使用元刷新进行重定向,我知道这很糟糕!

希望这是有道理的:)任何帮助都会非常感激!

2 个答案:

答案 0 :(得分:0)

我不确定这是做什么的正确方法

但通常我使用js重定向echo '<script>window.location="somefile.php";</script>'; 避免这个错误

答案 1 :(得分:0)

我通常使用location.replace(URL),因此如果用户点击他们的浏览器,他们就不会被困在重定向迷宫中:

window.location.replace(urlToRedirectTo);
相关问题