php - 这个php登录代码有什么问题?

标签 php mysql database authentication phpmyadmin

<分区>

无论我做什么,我总是得到“错误的用户名或密码” 已经尝试过不同类型的解决方案,但都没有帮助。

//header('Access-Control-Allow-Origin: *');

include('db.php');

// username and password sent from form
$myusername=$_POST['username'];
$mypassword=$_POST['password'];

// To protect MySQL injection 
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM users WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row

$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){


        echo '{"type":"1",'.
            '"item": "Logged In"'.
            '}';
}
else {
echo '{"type": "0",'.
            '"item":"Wrong Username or Password"'.
            '}';
}

有人可以帮忙吗? 提前谢谢你!

最佳答案

这可能有多种原因。

  1. 您的用户名或密码不正确(值得检查此类错误)
  2. 您的数据库连接有问题! (启用错误报告和调试)
  3. 您对发布的数据有疑问。当您在不知不觉中使用 GET 而不是 POST 时,有时会发生这种情况。
  4. 或者,您的密码或用户名包含被转义且未正确匹配的字符串!

编辑

还有一些其他的建议给你!始终使用 mysql 准备好的语句以获得最大的安全性,并且不推荐使用 mysql_ 函数,而是使用 mysqli_ 替代品。您对 stripslashes 的使用表明您正在使用 magic_quotes_ ,这再次被劝阻! :)

关于php - 这个php登录代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17323742/

相关文章:

php - laravel 中针对特定格式的 TIme 格式验证

php - 我试图将动态复选框的值分配给下拉列表,但它显示相同的值,因为复选框是相同的

mysql - 如何动态更改 sqlstatement 中用于使用组合框检索数据的列名称

php - MySql 在多列中搜索姓名和电子邮件

mysql - 多对多关系表命名

php - 将 Laravel 集合排序为 ID 数组

php - Heroku 上 WordPress 的 Http 到 Https 重定向

mysql - 如何在mysql中将创建表的数据类型指定为select?

ruby-on-rails - Rails 4 数据库迁移错误 : undefined method `to_sym' for nil:NilClass

sql - 如何更新或删除 varchar 列中的所有特殊字符