2016-04-14 20 views
2

Ich habe diesen Code ausprobiert und es scheint nicht zu funktionieren, also würde ich mich freuen, wenn mir jemand mit irgendwelchen Fehlern helfen könnte.Benutzername und Passwort Validierung PHP MySql

Kurzer Überblick, meine Datenbank root ist 'localhost', Datenbankname 'ee2800' Passwort 'secret' und ich brauche es, um Benutzernamen und Passwort zu validieren.

Unten ist, was ich habe, scheint nicht zu funktionieren.

<?php 
 
    $conn = new mysqli("localhost", "ee2800", "secret", "ee2800"); 
 

 
    if (mysqli_connect_errno()) { 
 
     echo "Connection Failed. Try again." . mysqli_connect_error(); 
 
     exit(); 
 
    } /* else { 
 
     echo "Connection Successful <br/> "; 
 
     } */ 
 

 
    // Connect to database server 
 
    mysql_connect("localhost", "ee2800", "secret") or die(mysql_error()); 
 

 
    $UserName = mysql_real_escape_string($_POST['UserName']); 
 
    $Password = mysql_real_escape_string($_POST['Password']); 
 

 
    $sql = "SELECT * FROM users WHERE UserName = '$UserName' AND Password = '$Password' "; 
 
    $result = mysql_query($sql) or die(mysql_error()); 
 
    $numrows = mysql_num_rows($result); 
 
    if ($numrows > 1) { 
 
    else if ($numrows = 0) { 
 
     echo "wrong username or password" 
 
    } else { 
 
     echo "welcome" 
 
    } 
 

 
    // Close the database connection 
 
    mysql_close(); 
 
    ?>

Danke

+2

** Hinweis: ** Sie Misch 'mysqli_ *' und 'mysql_ *' Funktionen. –

+0

Vielleicht haben Sie im Block 'if ($ numrows> 1)' Semikolons vergessen? –

+0

Übrigens $ conn = new mysqli ("localhost", "ee2800", "geheim", "ee2800"); .... echo "Verbindung erfolgreich
"; } */'ist in diesem Code völlig nutzlos. –

Antwort

1

Für die Liebe der Sicherheit, bitte nicht speichern Passwörter in Klartext-Format. Verwenden Sie die gleiche Verschlüsselungsmethode für die Benutzereingabe und den anfangs gespeicherten Wert, um das Austreten von Benutzerpasswörtern zu verhindern. Dieser Code sollte hoffentlich etwas besser funktionieren.

<?php 

$dbLink = mysqli_connect("localhost", "ee2800", "secret", "ee2800"); 
if (!$dbLink) { 
    echo "Connection Failed. Try again." . mysqli_connect_error(); 
    exit(); 
} else { 
    echo "Connection Successful <br />"; 
} 

$UserName = mysqli_real_escape_string($_POST['UserName']); 
$Password = mysqli_real_escape_string($_POST['Password']); //NOTE FOR THE FUTURE - PLEASE ADD ENCRYPTION TO THIS 

$sql = "SELECT * FROM users WHERE UserName = '$UserName' AND Password = '$Password' "; 
$result = mysqli_query($dbLink, $sql) or die(mysqli_error()); 
$numrows = mysqli_num_rows($result, MYSQLI_ASSOC); 

if ($numrows == 0) { 
    echo "wrong username or password"; 
} else { 
    echo "welcome"; 
} 

// Close the database connection 
mysqli_close(); 

>

+0

Hallo, vielen Dank für Ihre Antwort ... Aus irgendeinem Grund funktioniert es immer noch nicht, gibt es irgendeine Möglichkeit, ich kann Ihnen mein Projekt mailen, um einen Blick darauf zu werfen? Ich würde es wirklich schätzen, ich habe wirklich keine Ahnung, warum es nicht funktioniert – NTal

+0

Ich muss auch eine JSON-Login-Fehler in der Antwort Echo enthalten und eine JSON-Login-Erfolg muss widerhallen .. – NTal

+0

Sorry, ich kann nicht wirklich durch ein ganz anderes Personen Projekt. Sie können versuchen, das ausführliche Debugging zu aktivieren, indem Sie die folgenden Zeilen jedoch nach oben hinzufügen: ini_set ("display_errors", 1); error_reporting (E_ALL); – RefreshCarts

Verwandte Themen