header()重定向不起作用

时间:2014-03-19 17:45:59

标签: php redirect

我无法让脚本正常工作。我想要一个确认操作的Javascript警报,然后重定向回我的页面。这不起作用:

echo "<script>setTimeout(alert('Danke, dein Wunsch wurde eingetragen.'),1);</script>";                  
mail("test@test.de", "Subject", "Hallo, lorem impsum.");
mail("secondtest@test.de", "Subject", "Hallo, lorem impsum.");
header('Location: ../../wishlist.php');`

2 个答案:

答案 0 :(得分:2)

在标题调用之前,您无法输出任何内容。来自docs

  

请记住,在任何实际输出之前必须调用header()   通过普通HTML标记,文件中的空行或PHP发送。

echo "<script>setTimeout(alert('Danke, dein Wunsch wurde eingetragen.'),1);</script>";

答案 1 :(得分:0)

已经说过你不能在header()之前输出,所以我不再重复了。

关闭问题

OP posted in an edit后来由Sparky修改:

“更新:我的问题确实这对我有用:

echo "<meta http-equiv=\"refresh\" content=\"0;URL=../../wishlist.php\">";

我已经用它而不是标题和警告之后。“

作为my comment提供的解决方案:

“如果你想使用JS和重定向,你总是可以使用<META http-equiv="refresh" content="5;URL=http://www.example.com">代替header() - 这是一个快速修复。”

<META http-equiv="refresh" content="5;URL=http://www.example.com">

如您之前在问题中发布的那样,请使用:

echo "<meta http-equiv=\"refresh\" content=\"0;URL=../../wishlist.php\">";