Interface d'authentification
sokran
Messages postés
3
Statut
Membre
-
Utilisateur anonyme -
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);
?>
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);
?>
A voir également:
- Interface d'authentification
- Double authentification google - Guide
- Authentification transcash avis - Forum Consommation & Internet
- Faux site d'authentification ✓ - Forum Consommation & Internet
- Ubuntu sans interface graphique ✓ - Forum Linux / Unix
- Désactiver l'authentification à deux facteurs instagram sans se connecter ✓ - Forum Instagram
1 réponse
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
}
Cordialement
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