2017-09-04 1 views
-2

Ich habe einen Login-Code gemacht, aber die Abfrage funktioniert nicht, es sagt, dass das Konto nicht korrekt ist, so dachte ich, es ist die Abfrage, die nicht gut ist.mysqli Variable in Abfrage funktioniert nicht

'SELECT * FROM `hexa-it-login` WHERE `e_mail`="'.$e_mail.'" AND `password`="'.$password.'"' 

Hier ist der vollständige Code.

require 'connect.php'; 
if(isset($_POST['login'])){ 
    $e_mail = $_POST['e_mail']; 
    $password = $_POST['password']; 
    $result = mysqli_query($con, 'SELECT * FROM `hexa-it-login` WHERE `e_mail`="'.$e_mail.'" AND `password`="'.$password.'"'); 
    if(mysqli_num_rows($result)==1){ 
     $_SESSION['e_mail'] = $e_mail; 
     header('Location: ../paneel0.php'); 
    } 
    else 
     echo "Dit account bestaat niet!"; 
} 
+1

Die Abfrage ist nicht so gut, weil Sie Raw-String-Verkettung anstelle von vorbereiteten Anweisungen verwenden. Ihre Abfrage könnte leicht SQL-injiziert werden, was dazu führt, dass Ihrer Datenbank schlimme Dinge passieren. –

+0

Ich dachte, dass im Jahr 2017 jeder mit vorbereiteten Aussagen, aber sieht aus wie ich falsch war ... Überprüfen Sie zuerst diesen Link, wie vorgefertigte Anweisungen zu verwenden: http://php.net/manual/en/mysqli.prepare.php –

+0

Mai Passwort gespeichert werden in der DB ist ** verschlüsselt ** eine und Überprüfung Anmeldung über ** Plain ** Passwort. Dies kann einer der Gründe für die Ausführung von anderen Teil sein. –

Antwort

-4

versuchen Sie die folgenden Dinge zu tun, um genauer zu sein,

Erster Einsatz mysqli_error, wird es Sie wissen lassen, wenn es irgendeine Art von Fehler,

if (!$result = mysqli_query($con, 'SELECT * FROM `hexa-it-login` WHERE `e_mail`="'.$e_mail.'" AND `password`="'.$password.'"')) 
    { 
     echo("Error description: " . mysqli_error($con)); 
    } 

Zweitens seien Sie sicher wenn der Benutzer wirklich in der Datenbank existiert.

Dies ist keine exakte Lösung Ihres Problems, aber dies könnte zu einem Ergebnis führen.

+1

* Paaji *, bitte schlagen Sie Vorschläge im Kommentarabschnitt der Frage vor. Dies ist keine Antwort. –

+1

@NanaPartykar Ich glaube, Sie haben die letzte Zeile meines Beitrags verpasst –

+0

Ich habe das Passwort vergessen was MD5 verschlüsselt in meiner Datenbank hahaha. Thx sowieso! –