2013-11-25 3 views
0

Я хочу показать ошибку, если имя пользователя и пароль неверны. Я пытаюсь со вчерашнего дня. не знаю, Что wrong.every время Controll идет по ошибке и отображает error.tried json.but не working.i нового в JQuery Ajax,return json_encode error from php to jquery

<script> 

$(document).ready(function() { 
    $("#LoginForm").submit(function(e) { 
     $("#simple-msg1").html("<img src='img/loading.gif'/>"); 
     var postData =""; 
     postData = $('#LoginForm').serializeArray(); 
     var formURL = $('#LoginForm').attr("action"); 

     $.ajax({ 
      url : formURL, 
      type: "POST", 
      data : postData, 
      dataType:'json', 
      success:function(data, textStatus, jqXHR) { 
       alert(data.error); 
       if(data.error == 1) { 
        $("#simple-msg1").html('<pre><code class="prettyprint">'+data.message+'</code>< /pre>'); 
       } else { 
        $("#simple-msg1").html('<pre><code class="prettyprint"> Login Successfull </code></pre>'); 
        window.location = "/property/Dealer/ManageProfile.php?Login=successfull"; 
       } 
      }, 
      error:function(data,textStatus) { 
       $("#simple-msg1").html('<pre><code class="prettyprint"> wrong username or password 11</code></pre>'); 
      } 
     }); 
     e.preventDefault(); //STOP default action 
    }); 

    $("#Button1").click(function() { 
     $("#LoginForm").submit(); //SUBMIT FORM 
    }); 

}); 

</script> 

это PHP файл

<?php 
ob_start(); 

if(session_id() == '') 
    { 
     session_start(); 
    } 

include 'config.php'; 

$error = '0'; 
$message = 'Valid'; 
$redirect = 'Dealer/EditLoginDetails.php'; 

$myusername=$_POST['txtusername']; 
$mypassword=$_POST['txtpassword']; 

$myusername = stripslashes($myusername); 
$mypassword = stripslashes($mypassword); 

$myusername = mysql_real_escape_string($myusername); 
$mypassword=mysql_real_escape_string($mypassword); 

$qry = "SELECT UserName,Type_user FROM login WHERE UserName = '".$myusername."' AND password = '".$mypassword."' "; 

$result = mysql_query($qry) or die ("Query failed"); 

$UserData = mysql_fetch_array($result); 

if($UserData['UserName'] != "") { 
    //echo $UserData['UserName']; 

    $_SESSION['UserId'] = $myusername; 

    $typ = $UserData['Type_user']; 

    if ($typ == "Dealer") { 
     header('location:/Dealer/EditLoginDetails.php'); 
     //echo "dealer"; 
     //echo json_encode(array('success'=>'true')); 
     //header('location:/Dealer/EditLoginDetails.php'); 
    } else if ($typ == "Individual") { 
     header('location:/Dealer/EditLoginDetails.php'); 

    } else { 
     header('location:/Builder/managep.php'); 
    } 

} else { 
    $error = '1'; 
    $message = 'Invalid username or password'; 

    // echo "forbiddnt"; 
    //header('HTTP/1.0 403 Forbidden'); 
    //echo " wrong username or password"; 
} 
echo json_encode(array('error' => $error, 'message' => $message, 'redirect' => $redirect)); 

?> 
+1

Это работает, если вы используете '.serialize()' вместо '.serializeArray()'? – Barmar

+0

Я не пробовал это – dvirus

+0

пытался не работать :( – dvirus

ответ

0

Моя догадка для ошибка javascript заключается в том, что заголовок - это отправляемый ответ не в чистом json. Что вы можете сделать, это добавить exit(); звонок после echo json_encode.... звонок

+0

не работает – dvirus

0

Пожалуйста, используйте этот код. Кажется, вы проверяете неправильные значения в условии ajax.

$(document).ready(function() { 
$("#LoginForm").submit(function(e) { 
    $("#simple-msg1").html("<img src='img/loading.gif'/>"); 
    var postData =""; 
    postData = $('#LoginForm').serializeArray(); 
    var formURL = $('#LoginForm').attr("action"); 

    $.ajax({ 
     url : formURL, 
     type: "POST", 
     data : postData, 
     dataType:'json', 
     success:function(data, textStatus, jqXHR) { 
      alert(data.error); 
      if((data.error != '1') { 
       $("#simple-msg1").html('<pre><code class="prettyprint">'+data.message+'</code>< /pre>'); 
      } else { 
       $("#simple-msg1").html('<pre><code class="prettyprint"> Login Successfull </code></pre>'); 
       window.location = "/property/Dealer/ManageProfile.php?Login=successfull"; 
      } 
     }, 
     error:function(xhr, status, error) { 
      $("#simple-msg1").html('<pre><code class="prettyprint"> wrong username or password 11</code></pre>'); 
     } 
    }); 
    e.preventDefault(); //STOP default action 
}); 

$("#Button1").click(function() { 
    $("#LoginForm").submit(); //SUBMIT FORM 
}); 
}); 
</script>