Erreur d'exécution conditionnel [Résolu]

Messages postés
10
Date d'inscription
lundi 19 février 2018
Dernière intervention
28 avril 2018
-
Bonjour
Je suis débutant en php
je voulais testé ce code en me connectant à une base de donné Mysql, tous se passe bien seul problème, la condition else ne s’exécute pas, même quand le if est fausse, rien de ce qui est prévus dans le bloc else ne s'affiche.
Voici le mini page qui doit effectuer le traitement du formulaire transmis par post

Merci encore une fois à ceux qui consacreront leur temps à me répondre


   
 if(isset($_POST['prenom']) && isset($_POST['password']))
    {
        $name = $_POST['prenom'];
        $password = $_POST['password'];
    try {
                 $connexion = new PDO("mysql:host=$host; dbname=Membres;charset=utf8", $user, $pass);
                 $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
           } catch (Exception $ex) {
        echo 'Erreur de connexion à la base de donné '.$ex->getMessage();
    }

        $donne = $connexion->prepare('SELECT Prenom, Password FROM User WHERE Prenom="'.$name.'" AND Password="'.$password.'"');
       
        $donne->execute();
      
        while ($resultat = $donne->fetch())
        {
            echo $resultat['Prenom'];
        }
        
        $donne->closeCursor();
    }
    
 else {
        echo 'Vous n\'ête pas encore inscrit sur  le forum, cliquer <a href=\'../HTML/users.html\'> ICI </a> pour vous inscrire';
}
 
 
Afficher la suite 

Votre réponse

1 réponse

Messages postés
23596
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 décembre 2018
0
Merci
Bonjour

Une accolade fermante en trop avant le else non ?
jordane45
Messages postés
23596
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 décembre 2018
-
Applique ceci lorsque tu codes... Ca t'évitera ce genre de pb...
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Kowli_12
Messages postés
10
Date d'inscription
lundi 19 février 2018
Dernière intervention
28 avril 2018
-
Merci pour la réponse et je m'excuse pour le retard
je vais appliquer tes conseils dans l'avenir,pour ce qui est de l'accolade il n'y pas un de trop!
merci encore
jordane45
Messages postés
23596
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 décembre 2018
> Kowli_12
Messages postés
10
Date d'inscription
lundi 19 février 2018
Dernière intervention
28 avril 2018
-
Oui mal vu pour les accolades.
C'est que ton code est mal indenté...

Quoi qu'il en soit, essaye ça :
$Prenom = !empty($_POST['prenom']) ? $_POST['prenom'] : NULL;
$password = !empty($_POST['password']) ? $_POST['password'] : NULL;

if($Prenom && $password){
    
    try {
      $connexion = new PDO("mysql:host=$host; dbname=Membres;charset=utf8", $user, $pass);
      $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (Exception $ex) {
        echo 'Erreur de connexion à la base de donné '.$ex->getMessage();
        exit();
    }

    $sql = 'SELECT Prenom, Password FROM User WHERE Prenom=:Prenom AND Password=:password';
    $datas = array(':Prenom'=>$Prenom ,':password'=>$password);
    try {
      $donne = $connexion->prepare($sql);
      $donne->execute();
    } catch (Exception $ex) {
        echo 'Erreur de requête !: '.$ex->getMessage();
    }  
    
    
    while ($resultat = $donne->fetch())
    {
      echo $resultat['Prenom'];
    }
       
    $donne->closeCursor();
} else {
   echo 'Vous n\'ête pas encore inscrit sur  le forum, cliquer <a href=\'../HTML/users.html\'> ICI </a> pour vous inscrire';
}
Kowli_12
Messages postés
10
Date d'inscription
lundi 19 février 2018
Dernière intervention
28 avril 2018
-
Merci de m'avoir remis dans les rails, tout fonctionne maintenant.
Je te remercie encore d'avoir pris ton temps pour me répondre
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.