警告:session_start()[function.session-start]:无法发送会话cookie - 已经发送的标头(输出开始于

时间:2015-04-03 09:21:11

标签: php session

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

2 个答案:

答案 0 :(得分:0)

  1. 确保使用&lt ;?启动文件并且之前不要放任何标志。
  2. 某些文本编辑器添加了在Windows中不可见但在linux系统中可识别的UTF-8标记。使用Eclipse并在文件属性中将编码设置为UTF-8。
  3. 空格是一个空格,制表符,分隔线或任何其他标记,由文本编辑器识别,不会呈现给用户。

答案 1 :(得分:0)

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

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

之前

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

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