【发布时间】:2017-11-25 05:52:06
【问题描述】:
这可能是一个非常简单的问题,但我正在处理登录表单。现在它工作正常 - 如果用户名和密码正确,则您成功登录。但是现在我又做了一个变量 $breed,如果品种也是正确的,我需要成功登录的 php 代码。如果还包括第三个变量 ($breed),则此代码不起作用(它显示):
<?php
require "conn.php";
$user_name = $_POST["user_name"];
$user_pass = $_POST["password"];
$breed = $_POST["breed"];
$mysql_qry = "select * from tabela where username like '$user_name' and password like '$password' and breed like '$breed';";
$result = mysqli_query($conn ,$mysql_qry);
if(mysqli_num_rows($result) > 0) {
echo "log";
}
else {
echo "login not success";
}
?>
android中的java代码也可能有问题,但我怀疑它是否可以完美地工作,如果只有用户名和密码:
@Override
protected void onPostExecute(String result) {
if(result.contentEquals("log")) {
context.startActivity(new Intent(context, Boxer.class));
}else
{
Toast.makeText(context, "Wrong Username or Password!", Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
向我们展示登录表单
-
表单是在android studio中制作的,我添加了一些代码
-
它显示了什么?这对 SQL 注入开放,您不应该使用
like进行精确比较,并且不要存储纯文本密码。 -
试试这个查询
select * from tabela where username = '$user_name' and password= '$password' and breed = '$breed'; -
当心用户“Little Bobby Tables” - (强制性xkcd参考)