-5

データベースでユーザー名とパスワードを使用しない場合、私のコードは機能します。しかし、データベースの詳細と一致すると問題になります。しかし、スクリプト内のそれらを一致させると、機能します。どうしたの?私は、コードが更新せずに成功メッセージを表示し、それがview.phpにリダイレクトされた後に表示されることを期待しています.パスワードとユーザー名は問題ありません

<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"; 
    }
}

?>

データベースと一致する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';
}

}
?>  
4

2 に答える 2

1

まず第url:一に、パラメーターは URL を取得していません... しかし、他にも問題があります。

これを例として使用します(別の質問/回答から借用... PHPを使用したjQuery Ajax POSTの例

/* 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');
  }   
});
于 2013-01-16T16:02:06.793 に答える
0

正しい値を ajax 関数に渡す

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

});
于 2013-01-16T15:54:34.990 に答える