jQuery不适用于数据库?

时间:2013-01-16 15:49:48

标签: jquery mysql

当我不在db中使用用户名和密码时,我的代码有效。但是,如果我确实匹配数据库中的细节是一个问题。但是,如果我匹配脚本中的那些它是有效的。怎么了? 我期待代码在没有刷新的情况下显示成功消息,并且在redirectime之后显示到view.php:它的工作方式是如此,但如果我集成了与php匹配的数据库,那么jquery会继续告诉我错误的用户名或密码密码和用户名都没问题

<script type="text/javascript">
$(document).ready(function() {

$("#login").click(function() {

    var action = $("#form1").attr('action');
    var form_data = {
        username: $("#username").val(),
        password: $("#password").val(),
        is_ajax: 1
    };

    $.ajax({
        type: "POST",
        url: action,
        data: form_data,
        success: function(response)
        {
            if(response == 'success')
                $("#form1").slideUp('slow', function() {
                //function to direct 

window.location.replace("view.php");
                //$("#message").html("<p class='success'>You          logged in successfully!</p>");
                });
            else
                $("#message").html("<p class='error'  style='color:red'>Invalid username and/or password.</p>");    
        }
    });

    return false;
});
// Function that redirects the user to another page
});
</script>

PHP文件,如果它是这样的,它工作得很好。

<?php

    $is_ajax = $_REQUEST['is_ajax'];
    if(isset($is_ajax) && $is_ajax)
{
    $username = $_REQUEST['username'];
    $password = $_REQUEST['password'];

    if($username == 'demo' && $password == 'demo')
    {
        echo "success"; 
    }
}

?>

与db

匹配的php代码    
<?php

$is_ajax = $_REQUEST['is_ajax'];
if(isset($is_ajax) && $is_ajax)
{
$username =(isset($_POST['username']))? trim($_POST['username']): '';
$password=(isset($_POST['password']))? $_POST['password'] : '';

// 
$query ='SELECT username FROM site_user WHERE '.
'username="'.mysql_real_escape_string($username,$con).'" AND ' .
'password = md5("'.mysql_real_escape_string($password,$con).'")';
$result=mysql_query($query,$con) or die (mysql_error($con));
if(mysql_num_rows($result)>0){
echo 'ok';
}

}
?>  

2 个答案:

答案 0 :(得分:1)

url:参数首先没有获取网址......但还有其他问题。

以此为例(借用其他问题/答案...... jQuery Ajax POST example with PHP

/* get some values from elements on the page: */
var values = $(this).serialize();

/* Send the data using post and put the results in a div */
$.ajax({
  url: "test.php",
  type: "post",
  data: values,
  success: function(){
      alert("success");
       $("#result").html('submitted successfully');
  },
  error:function(){
      alert("failure");
      $("#result").html('there is error while submit');
  }   
});

答案 1 :(得分:0)

将正确的值传递给ajax函数

$.ajax({
        type: "POST",
        url: your php file handling form data,
        data: serialize the form data,
        success: function(response){}

});