为什么用户名输入大小写都可以进去啊?怎么判断啊?

解决方案 »

  1.   

    php不可能自动忽略大小写的,肯定是的程序有这方面的设定了,请查看你的程序
      

  2.   

    $sql="select * from admin where userName='$userName' and password=='$password'";
    不对啊!进不去啊!不管输入什么都进不去
      

  3.   

    $sql="select * from admin where userName='$userName' and password=='$password'";
    password=='$password'";
    怎么这样的了 判断大小写,我知道有两种方法:
    第一:正则,具体的在网上找找 忘了
    第二:判断字符的二进制编码: for ($asc=65;$asc<=90;$asc++)

    if (strpos($username,chr($asc)) !== false)
    {
    echo"<script language=\"JavaScript1.2\">parent.retmsg('2','$username');</script>";
    return;
    }
    }
      

  4.   

    在默认情况下,MySQL搜索不区分大小写。如果希望总是以区分大小写的方式处理列,可使用区分大小写的或二进制校对声明它。
    如:
    CREATE TABLE T(
    name VARCHAR(10) BINARY
    );
      

  5.   

    $sql="select * from admin where userName='$userName' and password='$password'";这种可怕的sql讨论了若干年还有人写?请将password取出来用strcpm比较好不?
      

  6.   

    $sql="select * from admin where userName='$userName' and password='$password'";
    这种写法不对吗?还是不安全?
      

  7.   

    $sql="select * from admin where userName='$userName' and password=md5('$password')";
      

  8.   

    $sql="select * from admin where userName='$userName' and password='$password'";
    这种写法不对吗?还是不安全?
    这个还要判断是否有结果,有,才能通过验证的!
    不知道LZ是否忽略了 ?
      

  9.   

    用户名大小写都能进入,这也不是什么坏事啊。如果你严格控制大小写的话,那么在注册的时候也需要对用户名的字符逐个检查。
    如果是在是要严格区分大小写的话,可以判断两次,第一次不区分大小写,让数据库完成查找后,把用户名和密码取出,再用php进行判断,这个时候就可以用“==”了……
    呵呵,提供个思路,仅供参考。也欢迎高手指正:).
      

  10.   

    如果mysql字段不用bin,汉字select的时候也会出错,经常把不是这个汉字的字段也select出来