我正在使用此代码...
<?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
}
?>
用户点击提交并发布数据后如何重定向页面?
首先,确保您通过在块内输入某些内容来进入if()
条件。echo
if()
如果它工作正常,请确保在header()
执行之前您没有发送任何内容。因为当您header()
在 PHP 文件中使用时,在此之前不得有任何其他输出语句。因此,请检查之前的任何 HTML 代码或echo
s。
然后,如果您确定它header()
正在执行,但仍然没有重定向,请确保目标文件存在。
额外:总是在重定向exit()
后立即添加。header()
否则代码将继续执行并可能泄露您的敏感数据。
使用文件的相对路径可能会导致问题。尝试使用完整路径(也可能在 if{} 之外更有意义)。
PHP 可能能够解析相对路径,但w3 规范明确声明使用绝对 URI
编辑:详细地说,将相对路径交给浏览器进行重定向是在玩火。浏览器可能认为它知道它在您网站的层次结构中的位置,但它实际上可能位于不同的位置。
此外,如果您没有获得 404 页面或类似的页面,那么相对路径可能不是您的问题,但它可能会在以后帮助您
使用元重定向,比如
<meta http-equiv="refresh" content="0; url=http://example.com/">
但你可以做类似的事情
<meta http-equiv="refresh" content="0; url=index.php">
适合我