2017-07-28 6 views
-3

Helo, ich machte eine Anmeldung, dann möchte ich, wenn Benutzername falsch und Passwort richtig dann Alarm zeigen, wenn Benutzername falsch ist, und wenn Benutzername richtig und Passwort falsch dann Alarm anzeigen, wenn das Passwort falsch ist und wenn Benutzername und Passwort übereinstimmt, dann umleitenBenutzername Überprüfung und Passwort Überprüfung Validierung in PHP

das ist mein Skript index.php ist

<?php 
    if(isset($_GET['log'])){ 
    session_start(); 
    session_destroy(); 
    } 
    $conn = mysqli_connect("localhost","root","","mydb"); 
    $username = isset($_POST["username"]) ? $_POST["username"] : ''; 
    $password = isset($_POST["password"]) ? $_POST["password"] : ''; 
    $password = md5($password); 



    if($username!='' and $password!=''){ 

    $sql = mysqli_query($conn, "SELECT * from user WHERE username = '$username' AND password = '$password' limit 1"); 
    $data = mysqli_fetch_assoc($sql); 

    if($data){ 
     session_start(); 
     $_SESSION['username']  = $data['username']; 
     $_SESSION['password']  = $data['password']; 
    } 

    if(isset($_SESSION["username"])){ 
     header('Location: index.php'); 
    } 

    else { 
     echo "<script type='text/javascript'> 
     alert('wrong username and password..!!!'); 
     </script>"; 
    } 
    } 

?> 
<body class="" style="background: #fff"> 
<br><br><br> <br><br><br>  
    <center></center><br>  
    <div class="form-box" id="login-box" style="width: 430px;margin-top: -0px;border-radius: 0"> 
     <div class="header" style="background: #2880d7;border-radius: 0">KOPKAR Manunggal Perkasa</div> 
     <form action="#" method="post"> 
      <div class="body bg-gray"> 
       <div class="form-group"> 
        <input type="text" name="username" class="form-control" placeholder="Username"/> 
       </div> 
       <div class="form-group"> 
        <input type="password" name="password" class="form-control" placeholder="Password"/> 
       </div> 
      </div> 
      <div class="footer text-center" style="background: #dbdbe0;border-radius: 0"> 
       <button type="submit" name="login" class="btn btn-lg" style="background: #2880d7;color: white;width: 30%">Login</button> 


      </div> 
     </form> 

    </div> 

</body> 

danke

+0

verwenden Sie Jetzt haben Sie Fehler bekommen ?? –

+1

Sie haben nicht die Absicht, damit zu leben, oder? –

+0

Ich bekomme keinen Fehler, aber ich möchte Skript, um zu überprüfen, ob Benutzername falsch und Passwort richtig dann Alarm anzeigen, wenn Benutzername falsch ist, und wenn Benutzername richtig und Passwort falsch dann Alarm anzeigen, wenn das Passwort falsch ist und wenn Benutzername und Passwort übereinstimmt, dann umleiten zu index.php –

Antwort

0
<?php 

if (isset($_GET['log'])) { 
    session_start(); 
    session_destroy(); 
} 
$conn = mysqli_connect("localhost", "root", "", "mydb"); 
$username = isset($_POST["username"]) ? $_POST["username"] : ''; 
$password = isset($_POST["password"]) ? $_POST["password"] : ''; 
$password = md5($password); 
$msg = ""; 
$status = 0; 

if ($username != '' and $password != '') { 

    $sql = mysqli_query($conn, "SELECT * from user WHERE username = '$username' OR password = '$password' limit 1"); 
    $data = mysqli_fetch_assoc($sql); 

    if ($data) { 
     $status = 1; 
     session_start(); 
     if ($data['username'] == $username && $data['password'] == $password) { 
      $_SESSION['username'] = $data['username']; 
      $_SESSION['password'] = $data['password']; 
     } else if ($data['username'] != $username) { 
      $status = 0; 
      $msg = "username is wrong"; 
     } else if ($data['password'] != $password) { 
      $status = 0; 
      $msg = " password is wrong"; 
     } 
    } else { 
     $status = 0; 
     $msg = "username and password is wrong"; 
    } 
    $alert = "<script type='text/javascript'> 
     alert('" . $msg . "'); 
     </script>"; 
    if (!$status) { 
     echo $alert; 
    } 
    if (isset($_SESSION["username"])) { 
     header('Location: index.php'); 
    } 
} 
?> 
+0

Ich habe einen Fehler hier: if (! Status) { echo $ alert; } Hinweis: Verwendung von undefinierten konstanten Status - angenommen "Status" in D: \ RIFQI_FILE \ xampp \ htdocs \ final \ login.php in Zeile 44 –

+0

aktualisiert Code $ verpasst. –

+0

der Code funktioniert, aber wenn nur Benutzername oder Passwort falsch ist, ist der Alarm noch Benutzername und Passwort falsch, –

0

(EDI TED) md5 von leeren Passwort diese erzeugen:

d41d8cd98f00b204e9800998ecf8427e 

ich Ihren Code ändern:

<?php 

if(isset($_GET['log'])) 
{ 
    session_start(); 
    session_destroy(); 
} 
$conn = mysqli_connect("localhost","root","","mydb"); 
$username = isset($_POST["username"]) ? $_POST["username"] : ''; 
$password = isset($_POST["password"]) ? $_POST["password"] : ''; 
// Control attempt variable 
$attempt = FALSE; 

if($username != '' && $password != '') 
{ 
    // ESCAPE!!! SQL INYECTION 
    $query = sprintf(
     "SELECT * FROM user WHERE username = '%s' AND password = '%s' LIMIT 1;", 
     mysqli_real_escape_string($username), 
     md5($password) 
    ); 
    $result = mysqli_query($conn, $query); 

    if($result) 
    { 
     $data = mysqli_fetch_assoc($result); 
     // 
     session_start(); 
     // 
     $_SESSION['username'] = $data['username']; 
     $_SESSION['password'] = $data['password']; 

     header('Location: index.php'); 
    } 
    $attempt = TRUE; 
} 
?> 
<html> 
<thead></thead> 
<body class="" style="background: #fff"> 
    <br><br><br> <br><br><br>  
    <center></center><br>  
    <div class="form-box" id="login-box" style="width: 430px;margin-top: -0px;border-radius: 0"> 
     <div class="header" style="background: #2880d7;border-radius: 0">KOPKAR Manunggal Perkasa</div> 
     <form action="#" method="post"> 
      <div class="body bg-gray"> 
       <div class="form-group"> 
        <input type="text" name="username" class="form-control" placeholder="Username"/> 
       </div> 
       <div class="form-group"> 
        <input type="password" name="password" class="form-control" placeholder="Password"/> 
       </div> 
      </div> 
      <div class="footer text-center" style="background: #dbdbe0;border-radius: 0"> 
       <button type="submit" name="login" class="btn btn-lg" style="background: #2880d7;color: white;width: 30%">Login</button> 
      </div> 
     </form> 

    </div> 
    <?php if($attempt): ?> 
    <script type="text/javascript"> 
     alert('wrong username and password..!!!'); 
    </script> 
    <?php endif; ?> 
</body> 
</html> 

ich empfohlen, dass Sie nicht md5

+0

Verwenden Sie 'mysql_real_escape_string()' nicht, wenn [perfekt geeignete vorbereitete Anweisungen] (http://php.net/manual/en/mysqli.prepare.php) in der 'mysqli'-Bibliothek verfügbar sind. Besonders wenn man es über das Passwort laufen lässt, ändert sich der von 'md5()' erzeugte Hash. – Phylogenesis

+0

¿sehen Sie vorbereitete Methode? Ich sollte diese Funktion auf die Abfrage anwenden. – MikeSouto

Verwandte Themen