Majuscules dans if else...

Résolu
Bonjour,

J'ai un petit sousis au niveau de mon code.

$nom = $_GET['nom'];
	elseif ($nom == "Admin")
	{$poste = "Administrateur";}
	else
	{$poste = "Membre";};

Quand ont tape "&nom=Admin" dans la barre d'adresse sa donne le rang "Administrateur".
Mais quand je tape "&nom=admin" sa me donne le rang "Membre" car "elseif ($nom == "Admin")" prend en compte la majuscule.

Comment faire pour que la majuscule n'est pas pris en compte ?

PS : Je ne veut pas mettre le code "elseif ($nom == "Admin" || $nom == "admin")"

--
Cordiallement Aka13

7 réponses

  1. Salut.
    Tu peux utiliser la fonction strtolower() qui retournera la chaine en minuscules.
    Exemple :
    <?php
    $groupe = 'Membre';
    
    if(isset($_GET['nom']) {
        $nom = strtolower($_GET['nom']);
    
        if($nom == 'admin') {
            $groupe = 'Administrateur';
        } elseif ($nom = 'moderateur') {
            $groupe = 'Modérateur';
        } elseif ($nom = 'contrib') {
            $groupe = 'Contributeur';
        }
    }
    
    echo $groupe;
    ?>
    1. Finalement j'ai trouvé comment faire :

      $nom = $_GET['nom'];   
      $nomavatar = strtolower($_GET['nom']);    
       if ($nomavatar == "admin")   
       {$poste = "Administrateur";}   
       else   
       {$poste = "Membre";};


      Exemple avec "&nom=Admin"
      Votre pseudo est Admin
      Votre avatar est (l'image = http://monsite.fr/avatar?name=admin)
      Votre poste est Aministrateur
  2. Merci, ton code fonctionne bien mais plus bas dans le code j'ai besoin du nom exacte.

    Exemple : Dans l'url je met "&nom=Admin", plus bas dans le code sa marque
    "Votre pseudo exacte est Admin" et a coter l'avatar du pseudo qui utilise une (http://monsite.fr/avatar?name=admin)

    J'aimerais plutot faire un code du genre :
    $nomavatar = strtolower($_GET['nom']);
    $nom = $_GET['nom']);

    Pour que dans certain cas je peut l'afficher en majuscule avec "Salut $nomavatar" et en miniscule avec "Votre pseudo exacte est $nom"
    1. Si tu veux le nom exacte il faut utiliser $_GET['nom'] et si tu ne le veux qu'en minuscules il faudra utiliser strtolower($_GET['nom'])
      1. Dons si je comprend bien je doit marquer obligatoirement :

        "Votre nom exacte est $_GET['nom']" 
        
        et
        $nom = strtolower($_GET['nom'];
        	elseif ($nom == "Admin")
        	{$poste = "Administrateur";}
        	else
        	{$poste = "Membre";};


        Il y a pas moyen de marquer un racourci au lieu de mettre $_GET['nom'] ?
        "Votre nom exacte est $racourci"
        1. $nom = strtolower($_GET['nom'];
          	elseif ($nom == "Admin")
          	{$poste = "Administrateur";}
          	else
          	{$poste = "Membre";};
          Ce code est incorrecte :
          - il manque le "if"
          - tu dois utiliser des minuscules dans les conditions
          - il ne faut pas de ";" après le "}"
          1. Je reposte donc mon message sans les erreurs...

            Dons si je comprend bien je doit marquer obligatoirement :

            "Votre nom exacte est $_GET['nom']"

            et
            $nom = strtolower($_GET['nom']);
            if ($nom == "admin")
            {$poste = "Administrateur";}
            else
            {$poste = "Membre";}


            Il y a pas moyen de marquer un racourci au lieu de mettre $_GET['nom'] ?
            "Votre nom exacte est $racourci"
            1. Finalement j'ai trouvé comment faire :

              $nom = $_GET['nom'];  
              $nomavatar = strtolower($_GET['nom']);   
               if ($nomavatar == "admin")  
               {$poste = "Administrateur";}  
               else  
               {$poste = "Membre";};


              Exemple avec "&nom=Admin"
              Votre pseudo est Admin
              Votre avatar est (l'image = http://monsite.fr/avatar?name=admin)
              Votre poste est Aministrateur

              Je tient quand même à te remercier pour le "strtolower()"
              I love you avion-f13 ^^