problème condition if - PHP - Programmation
Marsh Posté le 10-11-2013 à 01:08:20
if (tu_veux_qu_on_d_aide==true) 
expliquer_ton_problem=true; 
endif
Marsh Posté le 10-11-2013 à 18:40:06
j'ai posté ça en 1 min hier j'ai pas eu le temps 
 
Donc j'ai un formulaire afin de se connecter un son compte ( pour l'instant c'est le début et j'ai rentrer un utilisateur pour tester ). 
Je rentre l'email et le mdp. J'arrive à extraire de la base le mot de passe je l'es mis dans $vérification_mdp. Mais la condition $vérification_mdp==$mot_de_passe est tout le temps fausse . J'ai afficher le contenue : il est égale , le nombre de caractère : égale . Je ne comprends pas pourquoi ma boucle ne fonctionne pas . Voilà 
Merci d'avance ![]()
Marsh Posté le 10-11-2013 à 18:41:00
Voila mon formulaire : 
 
<?php 
if (isset($_COOKIE['pseudo'])) 
{ 
 ?> 
<center> 
 <div id="1" name="formulaire_connexion"> 
<form action="connexion.php" method="post"> 
<FIELDSET><p> 
email : <input type="text" name="pseudo" value="<?php echo $_COOKIE['pseudo']; ?>" /> <br/> 
Mot de passe : <input type="password" name="mot_de_passe" /><br/> 
<input type="submit" value="Connexion" /> 
</p></FIELDSET> 
</form> 
</center> 
 <?php 
} 
else 
{ 
?> 
<center> 
<form id="1" action="connexion.php" method="post"> 
<FIELDSET><p> 
email : <input type="text" name="email" /> <br/> 
Mot de passe : <input type="password" name="mot_de_passe" /><br/> 
<input type="submit" value="Connexion" /> 
</p></FIELDSET> 
</form> 
</center> 
<?php 
} 
?> 
 
<p> 
<a href="inscription.php">Pas encore inscris ?</a> 
</center> 
</p> 
</div>
Marsh Posté le 10-11-2013 à 23:05:21
 
 ! 
 
À mon avis, le problème vient de la comparaison qui est faite : si on lit la doc PHP : 
| Citation :    | 
 
Vu que dans ton mot de passe, tu as la chaîne "erreip10", il y a une conversion. 
 
Essaie plutôt d'utiliser la fonction strcmp( ) je dirais 
 (ou alors essayer === mais j'en suis pas sûr 
) 
 ![]()
Marsh Posté le 11-11-2013 à 10:12:31
Essaie plutôt d'utiliser la fonction strcmp( ) je dirais 
 (ou alors essayer === mais j'en suis pas sûr 
) 
 
Merci de t'on aide Soileh j'essayerai tes suggestions des que possible 
  
 
Petite question : Pourquoi il y a une conversion du mot de passe que j'ai récupéré dans la bdd et pas dans le mot le mot de passe récupérer du formulaire avec POST ? : enfin si je remplace dans le condition le mot de passe tapé par l'utilisateur si celui-ci est "erreip10" la boucle fonctionne .
Marsh Posté le 11-11-2013 à 10:30:59
=== ça ne fonctionne pas. Mais j'ai découvert l'utilité de strcmp() et ça fonctionne très bien ! ![]()
Marsh Posté le 09-11-2013 à 22:59:13
<?php // connexion avec la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=ppe', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<?php
$email=htmlspecialchars($_POST['email']); // On récupère dans la variable "email" l'email de l'utilisateur
$mot_de_passe=htmlspecialchars($_POST['mot_de_passe']); // On récupère dans la variable "mot_de_passe" le mot de passe de l'utilisateur
//FONCTIONNE
// {
// On prépare la requête : recupérer de la table "utilisateur" le mot de passe correspondant à l'email saisie
if (empty($email) OR empty($mot_de_passe))
{// On redirige vers la page de'accueil pour l'utilisateur :
header('Location: index.php?pb=2;');
// On arrête la requête
$req->closeCursor();
}
// }
// FONCTIONNE
// {
else
{
$req = $bdd->prepare('SELECT mot_de_passe, email FROM inscription WHERE
email = :email');
$req->execute(array('email' => $email));
$affichage = $req->fetch();
echo 'email :'. $affichage['email'] .' </br>';
echo $affichage['mot_de_passe'];
echo $mot_de_passe;
$vérification_mdp=$affichage['mot_de_passe'];
echo'<br/>'.$vérification_mdp.'';
// }
//FONCTIONNE
if($vérification_mdp=="erreip10" ) // ce, n'est jamais égale pourtant l'affichage est le même ( est-ce parce que c'est un tableau ) . A l'aide
{
// On arrête la requête
$req->closeCursor();
setcookie('email',$email, time() + 365*24*3600); // On écrit un cookie pour stocker l'email de l'utilisateur dans son disque dureecho 'oui!';
// On redirige vers la page de connexion :
// header('Location: bon_mdp.php?pb=2;');
}
if($affichage['mot_de_passe']!=$mot_de_passe)
{
echo 'non!';
// On arrête la requête
$req->closeCursor();
// On redirige vers la page de'accueil pour l'utilisateur :
// header('Location: faux_mdp.php?pb=2;');
}
}
?>
<?php // Permet l'affichage détaillé des erreurs
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '',
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
?>