PHP 重定向错误


php redirect error

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

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

有内容已发送到客户端。不过,您的代码似乎没有输出任何内容,因此我认为文件开头可能有一些空格,或者您不小心将PHP文件保存为带有BOM(字节顺序标记)的UTF8。BOM(3 字节)将输出到客户端,强制发送标头。此时,您无法再发送其他标头。

两个提示

  • <?php后立即使用页面顶部的ob_start()
  • header();之后写exit();

    ob_start() :此函数将打开输出缓冲。当输出缓冲处于活动状态时,不会从脚本发送任何输出(标头除外),而是将输出存储在内部缓冲区中。

作为替代方案,我可以建议HTML元刷新。你可以在代码中使用它:你不必确保你的php标签之前没有其他代码或空格

<?php
    echo '<meta http-equiv="refresh" content="0; url='.$URL.'">';
    exit;
?>