首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过AJAX/MySql/PHP登录

问通过AJAX/MySql/PHP登录
EN

Stack Overflow用户
提问于 2011-04-10 01:34:16
回答 3查看 1.2K关注 0票数 0

基本上,我想检查数据库以查看用户名和密码是否匹配,如果匹配,则解锁提交按钮。

代码语言:javascript
复制
<?php
mysql_connect('localhost', '', '');
mysql_select_db('database');
if(isset($_POST['submit'])){
    mysql_query("SELECT username,password FROM table WHERE username='".$_POST['username']."',password='".$_POST['password']."'")
}
?>

表格:

代码语言:javascript
复制
<form method="post">
Username <input type="text" name="username" />
Password <input type="password" name="password" />
<input type="submit" name="submit" value="Login" />
</form>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-10 02:10:03

我不知道我是否正确,但不管怎样,请尝试:

HTML:

代码语言:javascript
复制
  <form method="post">
     Username <input type="text" id="username" name="username" />
     Password <input type="password" id="password" name="password" />
    <input type="submit" name="submit" id="submit" value="Login" />
 </form>

jQuery:

代码语言:javascript
复制
    $("#submit").hide();
    $.post("checkUsername.php", { username: $("#username").val(), password: $("#password").val() }, function(result) {
 if(result == "true") { $("#submit").fadeIn(fast); }

 });

Php ( checkUsername.php ):

代码语言:javascript
复制
if(mysql_num_rows(mysql_query("SELECT username,password FROM table WHERE username LIKE '". mysql_real_escape_string($_POST['username']) . "',password LIKE '".mysql_real_escape_string($_POST['password'])."'")))
    {
       echo "true";
    }
    else
    {

    echo "false";
    }
票数 2
EN

Stack Overflow用户

发布于 2011-04-10 01:49:04

  1. 你的问题是什么?您忘记实际询问一个;)
  2. 在将字符串插入到查询中之前,您至少需要使用mysql_real_escape_string()对字符串进行转义。否则,SQL injection
  3. 将密码保存为纯文本格式通常是不可取的。Hash and salt.
  4. There已经是一些身份验证库,它们为您完成了大部分任务,并保护您免受许多您尚未听说过的其他问题的影响。不要重复发明一个由更有经验的人制造了很多次的轮子。评估像PEAR_Auth

这样的包

票数 2
EN

Stack Overflow用户

发布于 2013-03-22 06:49:27

您应该避免对这样的登录提示使用LIKE关键字,因为通配符不受mysql_real_escape_string的影响。用户可以使用用户名和密码"%“登录。

请参阅以下博客文章:http://blog.spiderlabs.com/2012/03/like-omg.html

使用=代替LIKE。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5606646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档