就简单的用户登录,在login.php中$uname的值为空,显示该用户不存在

解决方案 »

  1.   

    看下登录的用户名文本框 name="uname" 么
      

  2.   

    login.htm代码:
    <form method="post" action="login.php">
    <p>用户名
    <input  type="text" name="uname" id="unmae" size="12" maxlength="12">
    </p>
    <p>密码         
      <input  type="password" name="passwd" id="passwd" size="12" maxlength="12" />
    </p>
    <p>
      <input name="submit" type="Submit" value="登录" />
    </p>
    <p><a href="register.html">我是新用户</a></p>
    </form>
    [login.hph代码如下:
    <?php
      if($uname=""||$passwd=="")
       {
          echo '信息错误,请<a href="login.htm">重试</a>';
          exit;
       }
      echo '<br>';
      echo $uname;
      $link=mysql_connect('127.0.0.1',"root");
      mysql_select_db('huge');
      $query="select passwd from user where username='".$uname."'";
      $result=mysql_query($query);
      if($answer=mysql_fetch_array($result))
      {
          if($passwd==$answer["passwd"])
      {
           setcookie("username",uname,time()+3600);
           mysql_close($link);
           echo '登录成功,<a href="welcome.htm">返回</a>';
           exit;
      }   
      
      mysql_close($link);
      echo '密码错误,请<a herf="login.htm">重试</a>';
      exit;
      }
      mysql_close($link);
      echo '该用户不存在,请<a herf="login.htm">重试</a>';?>
      

  3.   

    帮忙看下楼上代码,为什么uname passwd不能输出任何值
      

  4.   

    用$_POST['uname']或者$_REQUEST['uname']代替$uname吧
    怎么PHP程序员都喜欢这样直接用全局变量吗?
      

  5.   

    $uname = $_POST['uname'];
    $passwd = $_POST['passwd'];
    php从form取值,需指定是用POST取还是GET取!
      

  6.   

    PHP 5开始register_global 默认已经设置off了。直接全局变量已经关闭了。yjqstart说的方法正确
      

  7.   

    你这根本没有把值传过来
      get 和post 多看看!
         原理没有弄清楚!
      

  8.   

    取form的变量的标准用法就是用$_POST和$_GET。LZ看的是哪本书,还在用全局变量?
      

  9.   

    $uname=($_POST["uname"]=="")? $_GET["uname"]:$_POST["uname"];
    echo $uname;
    你在看下
      

  10.   

    var_dunp($_POST);
    看有没有数值。
    另外,lz看的书是几年前的?
      

  11.   

    全局变量不安全,
    默认已经关闭
    用$_POST或者$_GET