不知道为什么这不起作用。这是代码:
if ((isset($_POST['cancel'])) && ($_POST['cancel'] == 'cancel'))
{
header('Location: page1.php');
echo $_POST['cancel'];
}
而不是重定向页面,此输出cancel
到网页。它跳过了重定向。为什么?我怎样才能解决这个问题?page1.php是一个实际页面,与当前页面位于同一文件夹中。上面的代码是php文件的第一行。没什么 没有。甚至没有空格。
Pekka在评论中回答了我的问题。他没有发布答案,所以我现在是。exit()
标头重定向后使用该方法。由于某种原因,页面的其余代码在header()方法重定向后仍继续执行。执行其余代码后,echo语句将输出到页面。输出到页面后,您将无法使用标题功能进行重定向。为避免执行其余代码,请使用exit()
。谢谢Pekka。
更新:使用Web浏览器Internet Explorer时,我注意到$ _POST ['cancel']不可靠。我不确定为什么会这样,但是我怀疑IE在表单提交中发布了其他变量,特别是变量“取消”已发布。我通过使用'cancel'以外的变量名解决了这个问题。使用exit()和唯一变量名的组合对我来说很有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句