2017-08-29 30 views
0

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"; 
} 
?> 
+2

Sind Sie sicher, dass das 'Ergebnis' * * Erfolg ist? – Script47

+2

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. –

+0

Ich kann Ihnen garantieren, dass das Ergebnis Erfolg ist, denn in der else-Warnung erhalte ich eine Warnung, die "Erfolg" sagt. – reevkandari

Antwort

1

wie diese auf eine andere Variable

$(document).ready(function() { 
 
    $("#logsubmit").click(function() { 
 
    var username = $("#username").val() 
 
    var password = $("#pwd").val() 
 

 
    $.post("functions/logincheck.php", { 
 
     username: username, 
 
     password: password 
 
    }, function(result) { 
 
     var r = result.trim(); 
 
     if (r == "success") { 
 
      window.location = "/"; 
 
     } else { 
 
      alert(result); 
 
     } 
 
    }); 
 
    }); 
 
});

Verwenden trim Methode & dann weisen Sie etwas tun.

Hoffe, das wird Ihnen helfen.

+0

Es funktionierte wie ein Charme Danke für Ihre Hilfe .... aber ich bin immer noch ahnungslos, warum es passiert ist .. da ich keinen zusätzlichen Platz von der PHP zurückgegeben .. – reevkandari

Verwandte Themen