php重定向错误

时间:2012-04-13 05:44:13

标签: php redirect

我正在尝试在更新数据库后重定向页面,但是我收到了错误。请帮助。

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");
?>

3 个答案:

答案 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;
?>