session_start();之前不要有输出(echo)之类的。

解决方案 »

  1.   

    前面加ob_start();
    后面加ob_end_flush();
      

  2.   

    session_start();之前不要有输出(echo)之类的。连空行都要注意。
      

  3.   

    在session_start()前不要有任何html的输出..
      

  4.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>counter</title>
    </head><body>
    <font color="#777A7D"><?php print(date("Y-m-d h:i:s A")); ?><?php echo " IP是".$REMOTE_ADDR.""; ?> 
    <?php
    // *** Visit Counter ***
    // FELIXONE 2002 - SB by Felice Di Stefano - www.felixone.it
    $FX_digit = 9;
    $FX_dpath = "FX_DataCounter";
    $FX_fpath = "FX_DataCounter/counter.txt";
      // Check if directory and file exists, if not create it.
    if (!file_exists($FX_fpath)) {
      if (!is_dir($FX_dpath)) {
        mkdir($FX_dpath, 0700);
      }
      $FX_fso = fopen($FX_fpath,"w");
      flock($FX_fso, 2);
      fputs($FX_fso, 0);
      flock($FX_fso, 3);
      fclose($FX_fso);
    }
      // Read file and update it once per session
    $FX_fso = fopen($FX_fpath,"r+");
    $FX_count = fgets($FX_fso, 4096);
    if (!session_id()) session_start();
    if (!isset($HTTP_SESSION_VARS["FX_DataCounter"])) {
      fseek($FX_fso, 0);
      flock($FX_fso, 2);
      fputs($FX_fso, $FX_count+1);
      flock($FX_fso, 3);
      fclose($FX_fso);
      $FX_count++;
      $FX_DataCounter = $FX_count;
      session_register("FX_DataCounter");
    }
      // Add leadings
    $FX_numlength = strlen((string) $FX_count);
    if ($FX_numlength < $FX_digit) {
      $FX_lead = (int) $FX_digit - $FX_numlength;
      for ($i=0; $i<$FX_lead; $i++) {
        $FX_count = "0" . $FX_count;
      }
    }
    ?>
    共<?php echo $FX_count ?>人浏览 
    <?php 
    //首先你要有读写文件的权限
    //本程序可以直接运行,第一次报错,以缶涂梢?
     $online_log = "count.dat"; //保存人数的文件,
     $timeout = 30;//30秒内没动作者,认为掉线 
     $entries = file($online_log);  $temp = array(); 
     
     for ($i=0;$i<count($entries);$i++) { 
     $entry = explode(",",trim($entries[$i])); 
     if (($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) { 
      array_push($temp,$entry[0].",".$entry[1]."\n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp
     } 
     }  array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."\n"); //更新浏览者的时间
     $users_online = count($temp); //计算在线人数 $entries = implode("",$temp); 
     //写入文件
     $fp = fopen($online_log,"w"); 
     flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作
     fputs($fp,$entries); 
     flock($fp,LOCK_UN); 
     fclose($fp);  echo " 有".$users_online."人在线"; ?>
    </font>
    </body>
    </html>
      

  5.   

    这样你肯定错误..
    在session start()以前下面的东西都不能有:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>counter</title>
    </head><body>
    <font color="#777A7D">
      

  6.   

    <?php
    // *** Visit Counter ***
    // FELIXONE 2002 - SB by Felice Di Stefano - www.felixone.it
    $FX_digit = 9;
    $FX_dpath = "FX_DataCounter";
    $FX_fpath = "FX_DataCounter/counter.txt";
      // Check if directory and file exists, if not create it.
    if (!file_exists($FX_fpath)) {
      if (!is_dir($FX_dpath)) {
        mkdir($FX_dpath, 0700);
      }
      $FX_fso = fopen($FX_fpath,"w");
      flock($FX_fso, 2);
      fputs($FX_fso, 0);
      flock($FX_fso, 3);
      fclose($FX_fso);
    }
      // Read file and update it once per session
    $FX_fso = fopen($FX_fpath,"r+");
    $FX_count = fgets($FX_fso, 4096);
    if (!session_id()) session_start();
    if (!isset($HTTP_SESSION_VARS["FX_DataCounter"])) {
      fseek($FX_fso, 0);
      flock($FX_fso, 2);
      fputs($FX_fso, $FX_count+1);
      flock($FX_fso, 3);
      fclose($FX_fso);
      $FX_count++;
      $FX_DataCounter = $FX_count;
      session_register("FX_DataCounter");
    }
      // Add leadings
    $FX_numlength = strlen((string) $FX_count);
    if ($FX_numlength < $FX_digit) {
      $FX_lead = (int) $FX_digit - $FX_numlength;
      for ($i=0; $i<$FX_lead; $i++) {
        $FX_count = "0" . $FX_count;
      }
    }
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>counter</title>
    </head><body>
    <font color="#777A7D"><?php print(date("Y-m-d h:i:s A")); ?><?php echo " IP是".$REMOTE_ADDR.""; ?> 
    共<?php echo $FX_count ?>人浏览 
    <?php 
    //首先你要有读写文件的权限
    //本程序可以直接运行,第一次报错,以缶涂梢?
     $online_log = "count.dat"; //保存人数的文件,
     $timeout = 30;//30秒内没动作者,认为掉线 
     $entries = file($online_log);  $temp = array(); 
     
     for ($i=0;$i<count($entries);$i++) { 
     $entry = explode(",",trim($entries[$i])); 
     if (($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) { 
      array_push($temp,$entry[0].",".$entry[1]."\n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp
     } 
     }  array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."\n"); //更新浏览者的时间
     $users_online = count($temp); //计算在线人数 $entries = implode("",$temp); 
     //写入文件
     $fp = fopen($online_log,"w"); 
     flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作
     fputs($fp,$entries); 
     flock($fp,LOCK_UN); 
     fclose($fp);  echo " 有".$users_online."人在线"; ?>
    </font>
    </body>
    </html>
    这样看看...