现在发现第一个错误:T1和T2,应该是$T1,$T2

解决方案 »

  1.   

    提交的变量用$_POST['表单变量名'];
    如果是这样的:$_POST['T1'].$_POST['T2'],文本文件f_id_pw.txt中xiaohuang和1983之间不应有任何字符(包括空字符).
    读出的文件数组后有回车符,应去掉.============================================
    <?phpif($_POST['T1'] && $_POST['T2']) //若用户已尝试登陆
    {$record=file("f_id_pw.txt"); //file()将文件载入数组,文件的每行成为数组中的一个元素
    $number=count($record);//计算数组内元素个数
    for($i=0;$i< $number;$i++)//循环查找相关记录
     {
      if(ereg_replace("\r\n","",$record[$i])==$_POST['T1'].$_POST['T2'])//存在记录
        {
         setcookie("mycookie");//为该用户注册一个session以进行追踪
         echo"welcome!";
         }
      }
     }
     else
     
    ?>
    <body><form method="POST">
     
      <p><input type="text" name="T1" size="20"><input type="password" name="T2" size="20"><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
    </form>
    <?php
    echo"please log in first!";
    ?></body>
      

  2.   

    文本文件内容:
    ====================
    xiaohuang1983
    MrLiua78
    joinjoiner
    ====================
    可以加个分隔符比如 |||
    xiaohuang|||1983
    MrLiua|||78
    join|||joiner
    相应的PHP文件相应语句改为
    if(ereg_replace("\r\n","",$record[$i])==$_POST['T1']."|||".$_POST['T2'])
      

  3.   

    netvt 的建议我试过了,还是不行
      

  4.   

    怎么不行.
    我这里测试过了没有问题的.环境:apache 2.0.47 php 4.3.3 
      

  5.   

    保证<?php位于第一行且前面不能有任何字符.
      

  6.   

    netvt:有warning如下:
    Warning: Cannot add header information - headers already sent by (output started at e:\apache\htdocs\test\xiaohuang\login\main.php:9) in e:\apache\htdocs\test\xiaohuang\login\main.php on line 20
    我知道肯定是if($_POST['T1'] && $_POST['T2']) 这个语句有问题的,可是我找不到
      

  7.   

    不是说过了嘛:setcookie前不应有输出.
    把以下内容去掉.下面的内容在运行setcookie前已输出了.所以出现上面的提示.<html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>main</title>
      

  8.   

    netvt,为什么我不能给你加分啊?怎样操作的?