-1

我试图在更新数据库后重定向页面,但出现错误。请帮忙。

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

3 回答 3

2

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

于 2012-04-13T05:48:20.097 回答
-1

两个提示

  • ob_start()之后在页面顶部使用<?php
  • exit();紧接着写header();

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

于 2012-04-13T05:54:44.097 回答
-2

作为替代方案,我可以建议 HTML Meta-Refresh。您可以在代码中使用它:您不必确保 php-tag 之前没有其他代码或空格

<?php
    echo '<meta http-equiv="refresh" content="0; url='.$URL.'">';
    exit;
?>
于 2012-04-13T05:50:29.993 回答