我正在尝试在更新数据库后重定向页面,但是我收到了错误。请帮助。
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\lucent\updatedb.php:1) in C:\xampp\htdocs\lucent\updatedb.php on line 18
代码
<?php
$con = mysql_connect("localhost","root","") ;
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("pdk company", $con);
mysql_query("UPDATE servicetbl SET date_expiry='2012-06-13'
WHERE id =1");
mysql_close($con);
$URL="login_success.php";
header ("Location: $URL");
?>
答案 0 :(得分:2)
已经将内容发送给客户端。但是,您的代码似乎没有输出任何内容,所以我认为文件开头可能有一些空格,或者您不小心将PHP文件保存为带有BOM(字节顺序标记)的UTF8。 BOM(3个字节)将输出到客户端,强制发送标头。此时,您无法再发送其他标题。
答案 1 :(得分:-1)
两个提示
ob_start()
<?php
在exit();
header();
ob_start()
:此功能将打开输出缓冲。当输出缓冲处于活动状态时,不会从脚本(标头除外)发送输出,而是将输出存储在内部缓冲区中。
答案 2 :(得分:-2)
作为替代方案,我可以建议HTML Meta-Refresh。您可以在代码中使用它:您不必确保在php-tag之前没有其他代码或空格
<?php
echo '<meta http-equiv="refresh" content="0; url='.$URL.'">';
exit;
?>