session_start()要写在头部,在用到session的任何输出之前

解决方案 »

  1.   

    我就是不用session的话。$line出了那个循环后也没有数据。
      

  2.   

    楼上说:我就是不用session的话。$line出了那个循环后也没有数据。$_SESSION['line']=$line;这句就是用把$line写入session的了呀!怎么说还不用session呢?
      

  3.   

    while(!feof($fp))
        {
            $line=fgets($fp);
            print $line;//此句打印:ceshi:ceshi
        }
          print "2:".$line;//此句只打印:2:我的意思就是这样
      

  4.   

    那我想要得到$line的值怎么办那??
      

  5.   

    [times@sz int]$ wc -m user.txt
    12 user.txt内容是ceshi:ceshi
    怎么会有12个字符呢??
      

  6.   

    天~说了半天是说读文件…但是也不用搞个session来传值吧?
    弄个数组来传值咯,然后在循环外面输出数组
      

  7.   

    文件有好多行,你那个是循环读取行,请问你要得到$line是要得到哪一行?
    最后一行是空行,所以你ECHO出来也是空行,但不代表没值。
    比如$a='',你能说$a是没值吗?。
    你用
    while(!feof($fp))
          {
            $line.=fgets($fp);
            $_SESSION['line']=$line;
            echo $_SESSION['line'];//这里有数据
          }
    看看。
      

  8.   

    呵呵,
    你是在linux下写的那个文件吧?
    结尾有个 回车0A 呵呵,本来就是不可见的嘛,hoho。
    如果你要是在windows下编写txt文档,还会13个字符呢
    另外,水米的说法“最后一行是空行”是不尽然的,hoho
    最后是文件结束符。
      

  9.   

    string fgets ( int handle [, int length] )
    从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
    这个才是 fgets 的定义
      

  10.   

    结束的条件是(!feof($fp)),跟fgets没什么关系。是不是$fp这个指针有问题呢?
      

  11.   

    那我要怎么才可以读出那行数据啊!我只是想把这行数据取出来.ceshi:ceshi.用户名和密码来着。然后我要判断用户$_POST['username']和$_POST['password'];是不是和文件中保存的用户名和密码相同。可是每次取出来的数据都是空值。所以实在进行不下去了!
      

  12.   

    <?php
    if (!$submit)
    {
      $fp=fopen("user.txt",'rb');
      if (!$fp)
      {
        echo '<p><strong>No users</strong></p>';
      }
      $i=0;
      while(!feof($fp) && $i!=1)
      {
        $line=fgets($fp);
        $i++;
      }
      $output=explode(":",$line);
      $username1=$output[0];//有值了。现在
      $password1=$output[1];
    }
    else
    {   echo $username1;//没有值了
        if ($_POST['username']==$username1 && $_POST['password']==$password1)
        {
          echo "<script language='javascript'>";
          echo "location='password.php'";
          echo "</script>";
        }
    }
    ?>
    这是我的代码!
      

  13.   

    终于弄明白了
      $fp=fopen("user.txt",'rb');
      if (!$fp)
      {
        echo '<p><strong>No users</strong></p>';
      }
      $i=0;
      while(!feof($fp) && $i!=1)
      {
        $line=fgets($fp);
        $i++;
      }
      $output=explode(":",$line);
      $username1=$output[0];
      $password1=substr($output[1],0,5);//output[1]的长度是6,但是内容确是:ceshi。
       echo "no".$password1;
        if ($_POST['username']==$username1 && $_POST['password']==$password1)
        {
          echo "<script language='javascript'>";
          echo "location='password.php'";
          echo "</script>";
        }
    我在想。那以后的可怎么办那?我是说以后的任意一个文件的读写!
      

  14.   

    解决了。哈哈!不过我没多少分。先$fp1="user.txt";
      $fp=fopen("user.txt",'rb');
      if (!$fp)
      {
        echo '<p><strong>No users</strong></p>';
      }
      $i=0;
      while(!feof($fp) && $i!=1)
      {
        $line=fgets($fp,filesize($fp1));
        $i++;
      }
      $output=explode(":",$line);
      $username1=$output[0];
      $password1=$output[1];
      if ($_POST['username']==$username1 && $_POST['password']==$password1)
      {
        echo "<script language='javascript'>";
        echo "location='password.php'";
        echo "</script>";
      }
    把这些散了!呵呵!