2017-04-20 8 views
-1

Ich versuche eine Ajax-Anfrage zu erstellen. Hier ist mein Code:Wie erhalten Sie PHP-Rückgabewert mit Javascript?

function cek(){ 
     var username = $("#username").val(); 
     var password = $("#password").val(); 

     if (username == "" && password == "") { 
      alert("Username and password can't be empty!"); 
     }else { 
      $.ajax({ 
       url: "processLogin.php", 
       type: "POST", 
       data:{ 
        username: $("#username").val(), password: $("#password").val() 
       }, 
       success:function(e){ 
        alert("e"); 
       } 
      }); 
     } 
    } 

Und hier ist der PHP-Code:

$username = $_POST['username']; 
$password = $_POST['password']; 

$sql = "SELECT * FROM user WHERE nama='$username' AND password='$password'"; 
$query = $db->query($sql)or die(mysqli_error($db)); 
$result = $query->fetch_assoc(); 

if ($query->num_rows == 0) { 
    echo "Username not found!"; 
}elseif ($password != $result['password']) { 
    echo "Password incorrect!"; 
}else{ 
    header('location:index.php'); 
} 

ich mein Programm möchte eine Benachrichtigung zeigen, basierend auf dem Ergebnis von if else. Aber es zeigt keine Warnung. Ich habe auf Google gesucht, aber ich kann es immer noch nicht funktionieren.
Wörtlich bin ich neu mit ajax. Ich hoffe, dass mir jemand helfen kann. Vielen Dank.

+3

die Zitate von 'alert ("e") entfernen;' – andrew

+3

Ihr Code ist anfällig für [** SQL-Injection-Angriffe **] (https://en.wikipedia.org/wiki/SQL_injection). Sie sollten [** mysqli **] (https://secure.php.net/manual/en/mysqli.prepare.php) oder [** PDO **] (https://secure.php.net/) verwenden. manual/de/pdo.prepared-statements.php) vorbereitete Anweisungen mit gebundenen Parametern wie in [** dieser Beitrag **] beschrieben (https://stackoverflow.com/questions/60174/how-cani-i-prevent-sql -injektion-in-php). –

+0

@andrew es immer noch keine Warnung anzeigen – kurniawan26

Antwort

-1

Eines der Dinge, u tun müssen, um die Zitate in Alarm alert("e");

entfernen sein alert(e);

dann müssen Sie das Formular zurückkehren verhindern einreichen/Laden der Seite Standard Verwendung zu verhindern, auch zurückkehren false, wenn Benutzername/Pass leer sind, damit das Formular nicht weiter gesendet wird.

<script type="text/javascript"> 
     function cek(event){ 
       event.preventDefault(); 
       var username = $("#username").val(); 
       var password = $("#password").val(); 
      if (username == "" && password == "") { 
       alert("Username and password can't be empty!"); 
       return false; 
      }else { 

        $.ajax({ 
        url: "processLogin.php", 
        type: "POST", 
        data:{ 
         username: $("#username").val(), password: $("#password").val() 
        }, 
        success:function(e){ 
         alert(e); 
        } 
       }); 


      } 
     } 
    </script> 



    <form method="POST"> 
     <input type="text" name="username" id="username"> 
     <input type="password" name="password" id="password"> 
     <button type="submit" class="button" id="login" onclick="cek(event)">Login</button> 
    </form> 
+0

Danke Kumpel. Es klappt. Ich denke, ich mache immer noch einen Fehler bei der "else" -Aussage. Es zeigt eine Warnung mit dem gesamten Inhalt von 'header ('location: index.php');' – kurniawan26

+0

Nein, nein, keine Umleitungen mit PHP, Umleitung mit jquery/js am Frontend ...umleiten mit php wird die ajax anfrage umleiten –

+0

ok, also muss ich die "else" entfernen, oder? – kurniawan26

Verwandte Themen