警告:session_start()[function.session start]:无法发送会话cookie-标头已由


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at

hai我在session_start();中有错误;。我参考了我们的网站,但我不会修复那个错误。我的第二个问题是php中的空白是什么,如何清除它?。

注意:此代码在localhost中工作这是我的代码

<?php
  session_start();
  $message = "";
  if (count($_POST) > 0) {
      $conn = mysql_connect("198.33.225.54:3306", "test", "test");
      mysql_select_db("test", $conn);
      $result = mysql_query("SELECT * FROM candidate WHERE user_name='" . $_POST["userName"] . "' and pass_word = '" . $_POST["password"] . "'");
      $row    = mysql_fetch_array($result);
      if (is_array($row)) {
          $_SESSION["user_id"]   = $row['id'];
          $_SESSION["user_name"] = $row['user_name'];
      } else {
          $message = "<font color='#FF0000'>Invalid Username or Password!</font>";
      }
  }
  if (isset($_SESSION["user_id"])) {
      header("Location:profile.php");
  }
?> 
  1. 确保文件以<?开头;?并且之前不要放置任何标志
  2. 一些文本编辑器添加UTF-8标记,这些标记在Windows中是不可见的,但在linux系统中可以识别。使用Eclipse并在文件属性中将编码设置为UTF-8
  3. 空白是一个空格、制表符、特征线或任何其他标记,可由文本编辑器识别,但不会显示给用户

1)写入ob_start();在代码的顶部,即<?php之后和session_start()之前;

另外,写入ob_flush();在代码末尾,即?> 之前

这将帮助您发出警告,警告:session_start()。。。。

2) 空白是代码中任何不需要的空间,尤其是在php标记<?php?> 之前和之后