Problème avec mes instruction if .. elseif.. else

Résolu
cs_daris Messages postés 49 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 17 février 2009 - 10 oct. 2007 à 13:10
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 - 11 oct. 2007 à 14:37
Bonjour!
J'ai un script qui me pose un petit souci et je n'arrive pas avoir pour
quoi je n'arrive pas à rentrer dans mes instructions(if..elseif..else).

En effet mon script fonctionne bien, il execute bien la requete et me
recupere le $statut .par contre ne rentrepas dans mon bloc
d'instruction pour faire la redirection même si les conditions sont
verifier. les instruction du else sont systematiquement executés.


si quelqu'un peut m'aider merci !

Voila mon code:
<?php
$this->login = $_POST["login"];
    $this->password = $_POST["password"];
   
     
    //UNE CONDITION POUR VERIFIER SI login et password SONT VIDES
   
     if(!isset ($this->login) || trim($this->login) == ""){
             $this->message1 = "E-mail obligatoire!";
            $menu->menu_accueil();// Redirection vers menu.class.php
            echo "<tr><td>$this->message1</td></tr>";
            exit();
      }else if(!isset ($this->password) || trim($this->password) == ""){
             $this->message1 = "Mot de passe obligatoire!";
            $menu->menu_accueil();// Redirection vers menu.class.php
            echo "<tr><td>$this->message1</td></tr>";
            exit();
      }else{
       
        /*FONCTION POUR CRYPTER LE PASSWORD*/
        $passcrypt = md5($this->password);
       
        echo "Bonjour:<tr><td>$passcrypt</td></tr>AAA
";
       
         $recordSet = &$conn->Execute("select * from ecomic.compte_utilisateur where mail='$this->login' and passcrypt='$passcrypt'");
       
         if (!$recordSet)
            print $conn->ErrorMsg();
       
        else{
            while (!$recordSet->EOF) {
                print $recordSet->fields[0].' '.$recordSet->fields[1].' '.$recordSet->fields[2].' '.$recordSet->fields[3].'
                '.$recordSet->fields[4].''.$recordSet->fields[5].''.$recordSet->fields[6].''.$recordSet->fields[7].'
                '.$recordSet->fields[8].'
';
                $this->statut =$recordSet->fields[6];
               
                echo ' le statut est:'.$this->statut;
               
                //print_r ($this);
                //print_r ($this->statut);
                       
                //REDIRECTION VERS LES PAGES D'ACCUEIL POUR CHAQUE STATUT
                if($this->statut =='administrateur'){
                    echo'je suis la';
                    print_r ($this->statut);
                    $menu->menu_administrateur(); // Redirection vers menu.class.php
                    exit();
                } elseif ($this->statut =='coll){
                    echo'Me voici';
                    print_r ($this->statut);
                    $menu->menu_coll(); // Redirection vers menu.class.php
                    exit();
                } elseif($this->statut =='adh'){
                    echo'coucou';
                    $menu->menu_adh(); // Redirection vers menu.class.php
                    exit();
                }else {
                    echo 'contacter votre administrateur! problème avec votre compte';
                     // Pas de menu adapté //Redirection vers menu.class.php
                    exit();
                }
                $recordSet->MoveNext();
                $recordSet->Close(); # optional
            }
       
        }
     }
        
    $conn->Close(); # optional
   

?>

5 réponses

BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
10 oct. 2007 à 18:13
Salut,
J'ai remarqué 2 petites choses dans ton code:
- qd tu fais le test avec "administrateur", ne faut-il pas mettre des guillemets " plutôt que des côtes ' ?
- qd tu fais le test avec "col", il manque la côte fermante

Peut-être sont-ce des pistes...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
3
cs_daris Messages postés 49 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 17 février 2009
11 oct. 2007 à 08:27
Bonjour,

merci pour ton aide.
Au fait j'ai remis les côtes comme il fallait et aussi lmes variables administrateur ou col qui proviennent de ma BD avaient des caractères espaces avant ou après et j'ai don utiliser la fonction trim()-> le problème est reglé.

Merci
3
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
11 oct. 2007 à 09:02
Cool!
Content de d'avoir aider...
Tu peux donc fermer le topic maintenant

@+

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
3
cs_daris Messages postés 49 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 17 février 2009
11 oct. 2007 à 14:23
Au fait copmment faire pour cloturer la discussion?
merci
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
11 oct. 2007 à 14:37
En face de chaque réponse (en dessous du pseudo de la personne), tu as le bouton "Réponse Acceptée"
Il suffit de cliquer dessus pour montrer à tout le monde que ton problème a eu une solution

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
3