2015-10-24 1 views
0

Je travaille actuellement sur un projet de classe où je dois vérifier le nom d'utilisateur et le mot de passe par rapport à une base de données. J'ai stocké les valeurs du nom d'utilisateur et mot de passe dans des tableaux individuels et j'essaie de vérifier que l'entrée de l'utilisateur correspond à l'une des valeurs là-bas. Cependant, cela ne se produit pas, et je ne suis pas sûr de savoir comment y remédier. Merci de votre aide!Vérification du nom d'utilisateur et du mot de passe PHP

<? 
connectDB(); 
$sql = "SELECT* FROM employee"; 
$result = mysqli_query($db,$sql) or die ("SQL error: " . mysqli_error()); 
$row = mysqli_fetch_array($result); 

$password = array(); 
$username = array(); 
while($row = mysqli_fetch_array($result)) 
{ 
    $password[] = $row['emp_pword']; 
    $username[] = $row['emp_username']; 
} 
var_dump($password); 
var_dump($username); 
?> 

    <?php if (isset($_REQUEST['page1_submit'])) { 
     if (($_REQUEST['pword'] == $password) and ($_REQUEST['user'] == $username)) { 
     header('location:home_agent.php'); 
     } else { ?> 
    <h2>Wrong Password! Try again.</h2> 
        <form method="POST" action="login.php"> 
         <table class="info"> 
          <tr> 
           <th>Username:</th> 
           <td><input type="text" NAME="username" /> 
           </td> 
           <th>Password:</th> 
           <td><input type="password" NAME="pword" /></td> 
          </tr> 
         </table> 
        <input class="submit" type="submit" name="page2_submit" value="SUBMIT" /> 
        <input class="submit" type="reset" value="RESET" /> 
        </form> 
    <?php } 
+1

Vous faites votre requête à tort. Ajoutez un 'WHERE' à votre requête et recherchez les enregistrements correspondant au nom d'utilisateur et au mot de passe que vous obtenez de l'utilisateur. De cette façon, vous obtenez juste une seule ligne (ou rien du tout, si les détails ne correspondent pas). Et regardez aussi comment utiliser les instructions préparées. – andrewsi

+0

Merci, ça a marché! Savez-vous pourquoi je reçois cette erreur: Remarque: Undefined index: utilisateur dans C: \ wamp \ www \ Project \ login.php sur la ligne 24 –

+0

Vous avez une erreur dans votre code - '$ _REQUEST ['user' ] 'devrait être' $ _REQUEST ['nom d'utilisateur'] '. – andrewsi

Répondre

-1

ME TROP PENSE VOUS ÊTES FAUX. VOUS EXECUTE JUSTE QUERY "SELECT * FROM TBLE_NAME OU nom d'utilisateur = $ username AND password = mot de passe $"

Cochez cette requête donne une liste non vide pour vérifier la connexion

c'est tout.