我正在使用此代码...
<?php
if (isset($_POST['submitButton'])) {
mysql_query("UPDATE notes SET Note=('$_POST[note]')
WHERE UserID='19'");
mysql_close($con);
header('Location: editrem3.htm'); //clears POST
}
?>
如何在用户点击提交并且数据已发布后重定向页面?
答案 0 :(得分:2)
首先,确保通过if()
echo
块中的if()
内的某些内容进入header()
条件。
如果它工作正常,请确保在header()
执行之前您已发送NOTHING。因为当你在PHP文件中使用echo
时,在此之前不得有任何其他输出语句。因此,请检查之前的任何HTML代码或header()
。
然后,如果您确定exit()
正在执行,但仍然没有重定向,请确保目标文件存在。
额外:在header()
重定向后,务必立即添加{{1}}。否则代码将继续执行并可以显示您的敏感数据。
答案 1 :(得分:1)
使用文件的相对路径可能会导致问题。尝试使用完整路径(也可能在if {}之外更有意义)。
PHP可能能够解析相对路径,但the w3 spec explicitly states to use absolute URIs
编辑:详细说明,将相对路径移交给浏览器以进行重定向正在玩火。浏览器可能会认为它知道它在您网站的层次结构中的位置,但它实际上可能位于不同的位置。
此外,如果您没有获得404页面或类似内容,那么相对路径可能可能不是您的问题,但它可能会在以后的路上帮助您
答案 2 :(得分:0)
使用元重定向,类似
<meta http-equiv="refresh" content="0; url=http://example.com/">
但你可以做类似
的事情<meta http-equiv="refresh" content="0; url=index.php">
与我合作