我需要帮助重定向使用标题。
我的代码:
<?php
if($fname != "") {
$query = mysql_query("UPDATE customer_address SET first_name='$fname',last_name='$lname',company='$company',company_id='$company_id',
address_1='$address_1',address_2='$address_2',city='$city',county='$county', post_code='$postcode',country='$country'
WHERE address_id='$editThisId';");
if($query==true) {
header('Location: address.php');
} else {
echo "Update Error!";
}
}
我收到以下错误:
警告:无法修改标头信息 - 已在C:\ xampp \ htdocs \ eula \ edit-address.php中发送的标头(输出从C:\ xampp \ htdocs \ eula \ edit-address.php:72开始)第129行
整个文件的Pastebin:http://pastebin.com/vj2Mp7u0
提前致谢!
答案 0 :(得分:1)
您收到此错误是因为您的服务器已将信息发送到客户端的浏览器 - 在传输任何HTML之前,需要首先发送标头。
在任何HTML或回音调用之前,只需将用户重定向到文件最顶端的代码。
或者,您可以调用文件顶部的ob_start()来禁用输出缓冲,并在执行完每个PHP代码后将页面作为一个整体发送。
答案 1 :(得分:0)
您不能在标题前显示任何html
内容,例如:
<html>
...
<?php
// your code
header('Location: address.php');
?>
尝试在任何html内容之前添加php
代码。
答案 2 :(得分:0)
&#34;请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。使用include或require,函数或其他文件访问函数读取代码是一个非常常见的错误,并且在调用header()之前输出空格或空行。使用单个PHP / HTML文件时存在同样的问题。&#34;
答案 3 :(得分:0)
你也可以尝试将你的php移动到页面顶部(在任何HTML之前)而不是底部。这样,php会在呈现页面上的任何内容之前查找(isset($ _ POST ['submit']))。
我认为你的重定向应该有效。