Mysql
 sql >> Datenbank >  >> RDS >> Mysql

gebe mysql echo als error in ajax zurück

Bitte haben Sie ein klares Verständnis des Erfolgsrückrufs von jquery.Ajax. Die Dokumentation sagt:Eine Funktion, die aufgerufen wird, wenn die Anfrage erfolgreich ist.

In Ihrem Fall ist die Anfrage erfolgreich, wenn der eingegebene Benutzername und das Passwort falsch sind.

Damit es richtig funktioniert, ändern Sie Ihren PHP-Code dieses Teils in:

$redirect = '';
if($UserData['UserName'] != '')
{
    session_start();
    $error = 0;
    $message = 'Valid';
    $_SESSION['UserId'] = $myusername;

    $typ = $UserData['Type_user'];

    if($typ == "Dealer")
    {
        $redirect = 'Dealer/EditLoginDetails.php';
    }
    else if($typ == "Individual")
    {
        $redirect = '/Dealer/EditLoginDetails.php';
    }
    else
    {
        $redirect = '/Builder/managep.php';
    }
}
else
{
    $error = 1;
    $message = 'Invalid username or password';
}

echo json_encode(array('error' => $error, 'message' => $message, 'redirect' => $redirect));

Und jquery-Code zu,

$.ajax({
    url : formURL,
    type: "POST",
    data : postData,
    dataType:'json',
    success:function(data, textStatus, jqXHR) {
        if(data.error == 1) {
            $("#simple-msg").html('<pre><code class="prettyprint">'+data.message+'</code>< /pre>');
        } else {
            window.location = data.redirect;
        }
    }
});
'); } else { window.location =data.redirect; } }});