有人可以举例说明如何使用PDO检查数据库中是否存在电子邮件和密码? (对于DUMMIES)。

时间:2015-05-04 12:10:09

标签: php ajax pdo

Heres是所有相关代码。我想要做的是使用ajax将一些参数发送到php文件,并检查它们是否在db中。如果不是echo和错误消息,并且它们是echo成功消息。我不知道如何从数据库中检索所有结果,并将它们与我输入的结果进行比较。谢谢。

AJAX

$( document ).ready(function() {    
  $("input[name=send_login]").click(function() {
         var value_email_login = $("#email_login").val() ;
         var value_password_login = $("#password_login").val() ;

         if(value_email_login == '' && value_password_login == ''){
             $(".info_message_login").show();
             $(".info_message_login").html("Campos Vacios");
         }else{
             $.ajax({
                 type: 'POST',
                 url: 'php/login.php',
                 data: {email: value_email_login, password: value_password_login},
                 success: function(){
                     $(".info_message_login").show();
                     $(".info_message_login").text("Bienvenido...");
                 },
                 error: function(response){
                     $(".info_message_login").show();
                     $(".info_message_login").text(response.responseText);
                  },
             });
         }
   });
});

表格

<form class="" action="" method="post">
    <div class="form-group">
      <input class="form-control" type="text" name="email" id="email_login" placeholder="Email"/>
    </div>
    <div class="form-group">
      <input class="form-control" type="password" name="password" id="password_login" placeholder="Password"/>
    </div>
    <div class="form-group">
      <input class=" btn btn-default " type="button" name="send_login" value="Send"/>
    </div>
    <div class="form-group">
      <input class=" btn btn-default " type="reset" name="reset_login" value="Reset"/>
    </div>
    <div class="info_message_login" style="display:none;">

    </div>
</form>

PHP文件

 <?php
session_start();

require_once "db.php";

$email = trim($_POST['email']);
$password = trim($_POST['password']);

$sql_login = 'SELECT * FROM users WHERE email = :email AND password = :password';
$statement = $connection->prepare($sql_login);

$statement->bindValue(':email', $email);
$statement->bindValue(':password', $password);


$statement->execute()

1 个答案:

答案 0 :(得分:0)

$statement = $connection->prepare(<<<SQL
    SELECT * 
    FROM users 
    WHERE email = :email 
    AND password = :password
SQL
);

$statement->execute(array(":email" => $email, 
                          ":password" => $password));

if($statement->fetch()) {
    $_SESSION['login'] = 'ok';
}

我允许您使用sha1或任何您想要的密码哈希密码