Alles vom Server funktioniert perfekt, aber nur diese einfache bedingte Anweisung funktioniert aus irgendeinem Grund nicht.Jquery - Javascript führt keine einfache Bedingung durch
$(document).ready(function() {
$("#logsubmit").click(function() {
var username = $("#username").val()
var password = $("#pwd").val()
$.post("functions/logincheck.php", {
username: username,
password: password
}, function(result) {
if (result == "success") {
window.location = "/";
} else {
alert(result);
}
});
});
});
Auch wenn die result == success
die else
Anweisung aus irgendeinem Grund ausgeführt wird.
die php scrippt
<?php
session_start();
include '../connect.php';
$username = $_POST['username'];
$password = $_POST['password'];
$lgchk = $con->prepare("select uid, pass from userlogin where uname = :uname");
$lgchk->bindParam(':uname', $username);
$lgchk->execute();
if ($lgchk->rowCount() > 0) {
while ($row = $lgchk->fetch(PDO::FETCH_ASSOC)) {
$pass = htmlentities($row['pass']);
$id = htmlentities($row['uid']);
}
if ($password == $pass) {
$_SESSION["myid"] = $id;
echo "success";
} else {
echo "Incorrect Password";
}
} else {
echo "Account Doesnt Exist";
}
?>
Sind Sie sicher, dass das 'Ergebnis' * * Erfolg ist? – Script47
Dann scheint es offensichtlich, dass "Ergebnis" nicht gleich "Erfolg" ist. Sie müssen debuggen, warum das so ist. Bist du sicher, dass es nicht "Ergebnis" ist? Versuchen Sie 'result.trim() == 'success''. Wenn das funktioniert, würde ich dringend vorschlagen, dass Sie PHP ändern, um JSON zurückzugeben, um sowohl Leerraumfehler zu vermeiden, als auch einen booleschen Wert anstelle eines hässlichen Zeichenfolgenvergleichs zu verwenden. –
Ich kann Ihnen garantieren, dass das Ergebnis Erfolg ist, denn in der else-Warnung erhalte ich eine Warnung, die "Erfolg" sagt. – reevkandari