相关疑难解决方法(0)

如何修复PHP中的"Headers already sent"错误

运行我的脚本时,我收到几个这样的错误:

警告:不能更改头信息-头已经发出(输出开始/some/file.php:12)在/some/file.php线23

错误消息中提到的行包含header()setcookie()调用.

这可能是什么原因?以及如何解决它?

php header

833
推荐指数
10
解决办法
133万
查看次数

PHP标头不重定向

我的标题不会重定向.代码执行后,它只是空白,不执行重定向.文件中没有空格.除了重定向之外,代码完全正确.

此代码由表单提交调用.

if(!empty($_POST['addSubscriber'])){
  $name = $_POST['name'];
  $email = $_POST['email'];
  if(!empty($name) && !empty($email) && eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email) != FALSE){
    $conn = connect();
    $sql = "SELECT id FROM subscribers WHERE email=?";
    if($stmt = $conn->prepare($sql)){
      $stmt->bind_param("s", $email);
      $stmt->execute();
      if($stmt->fetch()){
        header("Location: http://bcp350.org.uk/index.php?message=1");
      } else {
        $password = md5(uniqid());
        $sql2 = "INSERT INTO subscribers(name, email, password) VALUES(?, ?, '$password')";
        if($stmt2 = $conn->prepare($sql2)){
          $stmt2->bind_param("ss", $name, $email);
          $stmt2->execute();
          if($stmt2->affected_rows == 1)
            header("Location: http://bcp350.org.uk/index.php?message=1");
        }
      }
    }
  } else {
    header("Location: urlnotallowedbecauseofstackoverflowlimit");
  }
}
Run Code Online (Sandbox Code Playgroud)

php header

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

header ×2

php ×2