2016-10-06 6 views
0

Ich kann keine Informationen aus meiner MySQL-Datenbank laden. Ich möchte Daten aus meiner Datenbank laden und vergleichen Sie sie mit einer PHP-Variable, aber es funktioniert nicht. Immer wenn ich die Seite lade, sehe ich eine weiße Seite. My CodePHP Select funktioniert nicht

Kann mir jemand helfen? Diese

<?php 
define('DB_SERVER', ''); 
define('DB_USERNAME', ''); 
define('DB_PASSWORD', ''); 
define('DB_DATABASE', ''); 

$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE); 

if($_SERVER["REQUEST_METHOD"] == "POST") { 

    $myusername = mysqli_real_escape_string($db,$_POST['login']); 
    $mypassword = mysqli_real_escape_string($db,hash('ripemd160', $_POST['pass'])); 
    $sql = "SELECT username, password, active FROM User WHERE username = '$myusername' and password = '$mypassword'"; 
    $result = mysqli_query($db, $sql); 
    while($row = mysql_fetch_assoc($result)) 
    { 
     $username = $row['username']; 
     $password = $row['password']; 
     $active = $row['active']; 

     if($username == $myusername){ 
      if($active == 1) 
      { 
       session_start(); 
       $_SESSION["login"] = $myusername; 
       echo $_SESSION["login"]; 

       header("Location: http://www.example.de"); 
      } 
      else 
      { 
      echo "please verify your email";  
      } 
     } 
    } 
} 
else 
{ 
    header("Location: http://www.fapsite.de/Main/Home/Views/Login/WrongPassword.php"); 
} 

?> 
+1

Veröffentlichen Sie keinen Screenshot des Codes !!! – AbraCadaver

+1

[Little Bobby] (http://bobby-tables.com/) sagt *** [Ihr Skript ist für SQL Injection Attacks gefährdet.] (Http://stackoverflow.com/questions/60174/how-can- i-prevent-sql-injection-in-php *** Erfahren Sie mehr über [vorbereitete] (http://en.wikipedia.org/wiki/Prepared_statement) Anweisungen für [MySQLi] (http://php.net/manual /mysqli.quickstart.prepared-statements.php). Sogar [die Zeichenfolge zu entkommen] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) ist nicht sicher! [Glauben Sie es nicht?] (Http://stackoverflow.com/q/38297105/1011527) –

+0

Bitte verwenden Sie PHP [integrierte Funktionen] (http://jayblanchard.net/proper_password_hashing_with_PHP.html), um die Passwortsicherheit zu behandeln . Wenn Sie eine PHP-Version kleiner als 5.5 verwenden, können Sie das 'password_hash()' [compatibility pack] (https://github.com/ircmaxell/password_compat) verwenden. Stellen Sie sicher, dass Sie *** [Kennwörter nicht entgehen] (http://Stackoverflow.com/q/36628418/1011527) *** oder verwenden Sie einen anderen Bereinigungsmechanismus vor dem Hashing. Wenn Sie dies tun, * ändert * das Passwort und verursacht unnötige zusätzliche Codierung. –

Antwort

0

, zumindest ist ein schwerwiegender Fehler im Code:

Sie müssen mysqli-Funktion verwenden, wenn holen, während nicht mysql_fetch_assoc

2

Wenn Sie versuchen geholt Benutzernamen zu erhalten, greifen Sie $row['Username'] , während der Schlüssel username sein sollte, notieren Sie den Fall des ersten Buchstabens. Aus diesem Grund wird die Auswertung $username == $myusername nicht auf true ausgewertet.

Same appliles zu Password vs password und Active vs active.

+0

Es funktioniert nicht –

+0

Ich versuche es, aber nichts passiert –

+1

@ Lucas.Bardoux müssen Sie '$ row = mysqli_fetch_array ($ Ergebnis, MYSQLI_ASSOC);' –