Interface d'authentification

sokran Messages postés 3 Statut Membre -  
 Utilisateur anonyme -
Bonjour, bon voila je vien de débuté en développement php et j'ai un petit problème !donc voila j'ai crée une petite interface d'authentification (login.php) qui demande un nom d'utilisateur et un mot de passe et la une page qui vérifie la correspondance avec la base de donnée (verifier.php) !mon problème et donc simple apré la vérification meme si le le nom d'utilisateur et le mot de passe ne corresponde pas la vérification est accepté et pourtant j'ai bien mis la condition! merciiii

login.php
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<?php

//$msg=$_GET['msg'] ;
// echo " $msg "; ?>
</head>

<body>
<form name="f1" action="verifier.php" method="post" enctype="multipart/form-data">
<table>
<tr><td>nom d'utilisateur</td><td><input type="text" name="logine" /></td></tr>
<tr><td>mot de passe</td><td><input type="password" name="pw"/></td></tr>
<tr><td><input type="submit" name="ok" value="ok" /></td><td><input type="reset" name="annuler" value="annuler"/></td></tr>
</table>
</form>

</body>

</html>

verifier.php
<?php

$logine=$_POST['logine'];
$pw=$_POST['pw'];

$msg="les champs ne doivent pas etre vides" ;

if ( (empty($logine))|| (empty($pw)) )
header('location:login.php?msg='.$msg);
else
$conn=oci_connect("system","11011991");
$sql="select id,motdepasse FROM login ";
$res=oci_parse($conn,$sql);

$resultat=oci_execute($res);

while ($row = oci_fetch_array($res))

{ if (($row[0]=$logine) and ($row[1]=$pw))
header("location:main.php");
else
header("location:login.php");

}
oci_close($conn);
?>

1 réponse

Utilisateur anonyme
 
Bonjour,

Quelques pistes :

Après un header('location:....'), il faut mettre un exit

Un test de comparaison se fait avec == ou === et non = (=== étant une comparaison stricte).

Ensuite quand on fait des tests il faut créer des blocs

if (condition)
{
bloc vrai
} else {
bloc faux
}

if ( (empty($logine))|| (empty($pw)) ) {
header('location:login.php?msg='.$msg);
exit;
}
else {
$conn=oci_connect("system","11011991");
$sql="select id,motdepasse FROM login ";
$res=oci_parse($conn,$sql);

$resultat=oci_execute($res);


while ($row = oci_fetch_array($res))


{ if (($row[0]==$logine) and ($row[1]==$pw)) {
header("location:main.php");
exit;
} else {
header("location:login.php");
exit;
}
}
oci_close($conn);
}
?>


Cordialement
0