4

我正在使用此代码...

<?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
}
?>

用户点击提交并发布数据后如何重定向页面?

4

3 回答 3

2

首先,确保您通过在块内输入某些内容来进入if()条件。echoif()

如果它工作正常,请确保在header()执行之前您没有发送任何内容。因为当您header()在 PHP 文件中使用时,在此之前不得有任何其他输出语句。因此,请检查之前的任何 HTML 代码或echos。

然后,如果您确定它header()正在执行,但仍然没有重定向,请确保目标文件存在。

额外:总是在重定向exit()后立即添加。header()否则代码将继续执行并可能泄露您的敏感数据。

于 2012-04-11T18:08:31.407 回答
1

使用文件的相对路径可能会导致问题。尝试使用完整路径(也可能在 if{} 之外更有意义)。

PHP 可能能够解析相对路径,但w3 规范明确声明使用绝对 URI

编辑:详细地说,将相对路径交给浏览器进行重定向是在玩火。浏览器可能认为它知道它在您网站的层次结构中的位置,但它实际上可能位于不同的位置。

此外,如果您没有获得 404 页面或类似的页面,那么相对路径可能不是您的问题,但它可能会在以后帮助您

于 2012-04-11T17:49:50.037 回答
0

使用元重定向,比如

<meta http-equiv="refresh" content="0; url=http://example.com/">

但你可以做类似的事情

<meta http-equiv="refresh" content="0; url=index.php">

适合我

于 2012-04-11T18:08:22.103 回答