PHP:Header将我重定向到位置页面的上一个实例


PHP: Header redirects me to previous instance of location page

如果设置了某个POST变量,我有一个显示编辑选项的页面,如下所示:

if(isset($_POST['manageType']) && ($_POST['manageType'] == 'edit'))
{   
    display_edit_gallery($title, $_GET['gallery']);
}

在display_edit中,有这样的内容:

<form action="manage/manage_gallery.php" method="post">
    <input type="hidden" name="page" value="gallery_page.php" />
    <input type="submit" name ="submit" value="Edit" />
</form>

然后我在manage_gallery.php上做了一些事情,最后完成了

header("Location: " . $_POST['page']);
exit();

编辑被执行,我被重定向,只是我似乎被重定向到了我刚刚离开的gallery_page.php的实例$_尽管manage_gallery.php中没有通过POST发送任何内容,但POST['manageType']仍处于设置状态(因此编辑选项仍在显示中)。我对"delete image"选项进行了类似的操作,也发生了同样的情况。图像被删除了,但我需要重新加载页面,使其不再显示。这就像header()执行"返回上一页"之类的操作。

我使用了HTTP_REFERER,它运行得很好,但我被告知这不是最安全的选择,所以我会尽量避免。

更改:

header("Location: " . $_POST['page']);
exit();

收件人:

echo <<<'EOD'
<script language="javascript">
window.history.go(-1);
</script>
EOD;
exit();