Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1539 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  problème condition if

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème condition if

n°2209833
erreip10
apprenti
Posté le 09-11-2013 à 22:59:13  profilanswer
 


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

mood
Publicité
Posté le 09-11-2013 à 22:59:13  profilanswer
 

n°2209841
KLeMiX
Laisse pas trainer ton site
Posté le 10-11-2013 à 01:08:20  profilanswer
 

if (tu_veux_qu_on_d_aide==true)
expliquer_ton_problem=true;
endif


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr
n°2209864
erreip10
apprenti
Posté le 10-11-2013 à 18:40:06  profilanswer
 

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 :)

n°2209865
erreip10
apprenti
Posté le 10-11-2013 à 18:41:00  profilanswer
 

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>

n°2209882
Soileh
Lurkeur professionnel
Posté le 10-11-2013 à 23:05:21  profilanswer
 

:hello: !
 
À mon avis, le problème vient de la comparaison qui est faite : si on lit la doc PHP :

Citation :


Si vous comparez un nombre avec une chaîne ou bien que la comparaison implique des chaînes numériques, alors chaque chaîne sera convertie en un nombre et la comparaison sera effectuée numériquement.


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 :??:)
 
:jap:


---------------
And in the end, the love you take is equal to the love you make
n°2209892
erreip10
apprenti
Posté le 11-11-2013 à 10:12:31  profilanswer
 

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 .

n°2209893
erreip10
apprenti
Posté le 11-11-2013 à 10:30:59  profilanswer
 

=== ça ne fonctionne pas. Mais j'ai découvert l'utilité de strcmp() et ça fonctionne très bien ! :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  problème condition if

 

Sujets relatifs
problème de conditionProblème avec le fonction Match
Problème avec condition dans script batch[SQL]Probleme de condition sur un SELECT
Passage de PHP4 a PHP5 problème de conditionProblème de condition
Problème de condition[MySQL] Problème avec requête et condition IN
Problème de condition sur un COUNTProblème de condition
Plus de sujets relatifs à : problème condition if


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR