[PHP] string "incomplet"

Résolu
Erdnax Messages postés 2279 Statut Contributeur -  
Erdnax Messages postés 2279 Statut Contributeur -
Bonjour à tous.

Voilà, j'ai une petite question toute simple en php, mais sur laquelle je bute.

J'aimerais pouvoir comparer la valeur entrée par un visiteur dans un champ texte (nom) à des mots interdits (admin, administateur, etc...).

Et dans ma structure conditionnelle (if), j'aurais aimé entrer quelque chose du style :
if($nom == "admin"*){ echo 'tapoldroit !';}
J'aurais aimé savoir quelle syntaxe utiliser afin de ne pas me taper toutes les possibilités dans mon if avec des ||, car admin n'est pas le seul mot à interdire.

Merci, @+

--
Si tout te parraît mal, méchant, lié contre toi,
ne remet pas tout en question.

1 réponse

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Salut,

    Avec une boucle et un tableau:
    $bon_pseudo=TRUE;
    $interdit=array('root','admin','postmaster');
    foreach ($interdit as $pas_bien)
    { 
           if ($pseudo == $pas_bien){
                   $bon_pseudo=FALSE;
           }
    }


    Et tu récupères après $bon_pseudo qui te dira si le pseudo est bon ou pas...
    0
    1. Erdnax Messages postés 2279 Statut Contributeur 497
       
      Nickel merci,

      et est-ce que tu saurai comment faire pour que je n'ait pas à entrer un mot complet, que je n'entre que la racine, un peu comme en sql avec les %.

      Par exemple, admin% me bloque admin, admini, administrateur, etc ?
      0
    2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Oui, strpos ça me parait la meilleure solution.

      if (strpos($pseudo,'admin') === FALSE){
             //Le mot ne contient pas la chaîne 'admin'
      }
      0
      1. Erdnax Messages postés 2279 Statut Contributeur 497 > kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Oki, merci bien, c'est ce que je vais utiliser.

        @+
        0