Header()重定向不起作用


header() redirect doesn't work

我无法让脚本工作。我想要一个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');`

在header调用之前不能输出任何内容。来自文档:

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

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

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

(结束问题)

OP posted in an edit,后来被Sparky修改:

"UPDATE: Ok for my Problem for me:

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

我用它来代替标题和警报之后。"

作为我的注释提供的解决方案:

"如果你想使用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'">";