Hallo, ich bin total neu in Ajax. Ich habe eine Anmeldung bei Ajax gemacht, aber immer wenn ich mich anmelde, bekomme ich eine Meldung, dass die Anmeldung nicht funktioniert hat. Ich suche stundenlang nach dem Problem, kann aber nicht herausfinden, wo ich falsch lag.Ajax-Login meldet sich nicht an, wenn die korrekten Login-Benutzerdaten verwendet werden
Dies ist der Körper des index.html
<div class="loginform-in">
<h1>User Login</h1>
<div class="err" id="add_err"></div>
<fieldset>
<form action="" method="post">
<ul>
<li> <label for="name">Username </label>
<input type="text" size="30" name="name" id="name" /></li>
<li> <label for="name">Password</label>w
<input type="password" size="30" name="word" id="word" /></li>
<li> <label></label>
<input type="submit" id="login" name="login" value="Login" class="loginbutton" ></li>
</ul>
</form>
</fieldset>
</div>
ich nicht die Ajax-Code in einer anderen Datei enthalten waren. Ich habe den Code unten in den Kopf der index.html
$(document).ready(function(){
$("#add_err").css('display', 'none', 'important');
$("#login").click(function(){
username=$("#name").val();
password=$("#word").val();
$.ajax({
type: "POST",
url: "login.php",
data: "name="+username+"&pwd="+password,
success: function(html){
if(html=='true') {
//$("#add_err").html("right username or password");
window.location="dashboard.php";
}
else {
$("#add_err").css('display', 'inline', 'important');
$("#add_err").html("<img src='images/alert.png' />Wrong username or password");
}
},
beforeSend:function()
{
$("#add_err").css('display', 'inline', 'important');
$("#add_err").html("<img src='images/ajax-loader.gif' /> Loading...")
}
});
return false;
});
});
Und das ist die login.php
require_once '../config.php';
session_start();
$uName = $_POST['name'];
$pWord = md5($_POST['pwd']);
$qry = "SELECT usrid, username, oauth FROM ajax WHERE username='".$uName."' AND pass='".$pWord."' AND status='active'";
$res = mysqli_query($mysqli, $qry);
$num_row = mysqli_num_rows($res);
$row=mysqli_fetch_assoc($res);
if($num_row == 1) {
echo 'true';
$_SESSION['uName'] = $row['username'];
$_SESSION['oId'] = $row['orgid'];
$_SESSION['auth'] = $row['oauth'];
}
else {
echo 'false';
}
Sie sollten parametrisierte Abfragen verwenden und Ihr Hashing aktualisieren. – chris85
Vielleicht ist diese Bedingung nie wahr 'if ($ num_row == 1) {' versuche es zu 'if ($ num_row> 0) {' –
was sagt die Konsole? –