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));
?>