使用Ajax + PHP检查登录

时间:2014-06-03 14:56:59

标签: php jquery ajax pdo

我使用两个输入用户名和密码创建了一个简单的登录。我使用ajax传递数据,这将用于移动应用程序。出于某种原因,我遇到了一个问题,即根据存储在数据库中的内容验证我的凭据。我正在使用标准的PDO和一个非常简单的ajax formData调用。

我的表格:

<form method="post" id="userLoginForm" enctype="multipart/form-data">
   <label for="uName">Username</label>
       <input type="text" name="uName" id="uName" data-theme="a" data-mini="true" 
        data-corners="true" />
   <label for="uPass">Password</label>
       <input type="password" name="uPass" id="uPass" data-theme="a" 
        data-mini="true" data-corners="true" />
       <p></p>
   <center>
       <button type="submit" data-theme="a" data-mini="true">
           <small>LOGIN</small>
       </button>
   </center>
 </form>

我的文档头文件中的ajax POST方法(与我的表单在同一文档中):

var fd = new FormData( $(this)[0] );
        var username = $("#uName").val();
        var password = $("#uPass").val();

        $.ajax({
            type: 'POST',
            processData: false,
            contentType: false,
            async: false,
            //data: { user: username, pass: password },//
            data: fd,
            url: 'urltomylogincheck/loginChk.php',
            success: function(html){
            if(html==1)    {
                 //$("#add_err").html("right username or password");
                sessionStorage.setItem("user",username);
                alert('Wait while we log you in');
                 window.location.href = 'user.html';
            }
            else {
                $("#add_err").css('display', 'inline', 'important');
                 $("#add_err").html("<div style='background: red; padding: 
                 2px 5px 5px 5px;color:white;'>
                <small>Wrong username or password</small></div><br/>");
                }
           },
           beforeSend:function()
           {
            $("#add_err").css('display', 'inline', 'important');
            $("#add_err").html("<img src='img src='assets/img/ajax-loader.gif' /> Loading...<br/>")
           }
          });
    return false;
        });
    });  

我的简单PHP检查服务:

 session_start();

 $user   = $_POST['uName'];
 $pass   = md5($_POST['uPass']);


 if(isset($user)) 
  {
    $check = $conn->prepare("SELECT * FROM profiletbl 
       WHERE user = :UserName and pass = :Password");
    $check->bindParam(':UserName', $user);
    $check->bindParam(':Password', $pass);

    $check->execute();

    $count = $check->rowCount();
    $row  = $check-> fetch();

    if($count==1)
    {
        $_SESSION['uName'] = $row['user'];
       ///header("location: home.html");
    }
    else {
        $errmsg_arr[] = 'Username and Password are not found';
        $errflag = true;
        session_write_close();
        ///header("location: about.html");
        exit();
    }

    $check = null;

当我测试登录时,它只是从loginCheck.php得到一个响应:

  

enter image description here

我之前创建了一个登录,没有使用mysqli的问题,但由于某种原因,我开始相信我的ajax中的某些东西导致了臭味。任何帮助都会很棒。

0 个答案:

没有答案