mysql PHP登录系统接受Unity发送的任何密码

时间:2015-02-22 20:13:03

标签: php mysql

我正在Unity中创建一个登录系统,它可以使用数据库中的用户名登录,但无论我在密码字段中输入什么内容,登录都会成功。我不明白为什么,因为我认为这段代码会检查密码是否与用户名匹配。有线索吗?我对PHP非常陌生。谢谢:))

php代码:

$check = mysql_query("SELECT * FROM unitytut WHERE `user`='$user'");
$numrows = mysql_num_rows($check);

while($row = mysql_fetch_assoc($check)){
if($pass = $row['pass']){
    die("login-SUCCESS");
    }
    }

统一代码:

    WWWForm form = new WWWForm ();
        form.AddField ("user", user);
        form.AddField ("pass", pass);
        WWW w = new WWW ("http://mywebpage.dx.am/Login.php", form);
            StartCoroutine (Login (w));


   IEnumerator Login(WWW w){
        yield return w;
        if (w.error == null) {
            if(w.text == "login-SUCCESS"){
       Debug.Log("LOGIN SUCCESS");
    }
    }

1 个答案:

答案 0 :(得分:2)

这是你的问题,你正在使用单个=,因为正在设置$pass,这将返回true,使用双==代替,因为这是为了检查它是否等于。

所以这个:

if($pass = $row['pass']){
    die("login-SUCCESS");
}

应该是这样的:

if($pass == $row['pass']){
    die("login-SUCCESS");
}


此外,我们不推荐使用mysql_*函数,您可能需要查看PDOMySQLi prepared statements