Probleme fonction preg_match() et expression reguliere

Résolu
salecoune Messages postés 52 Statut Membre -  
 Utilisateur anonyme -
Bien le bonjour à tous! :)

Je m'adresse à vous car j'ai actuellement un petit problème. Je suis en train de faire mon premier site web et j'aimerais tester que le pseudo choisit lors de l'enregistrement par un utilisateur corresponde à une certaine syntaxe.

Voici donc la partie de mon code qui correspond à ce test:

$syntaxe_pseudo='^[a-zA-Z0-9_.]{3,20}$';
if (!preg_match($syntaxe_pseudo,$_POST['pseudo'])){
header('Location: Enregistrement.php?erreur=ERR3');
}

Mais malheureusement, quoi que je rentre comme pseudo, je suis toujours redirigé vers la page d'enregistrement avec "ERR3", je n'arrive pas à passer ce test :/

Merci d'avance pour vos réponses ! :D

1 réponse

  1. Utilisateur anonyme
     
    salut

    essaye plutot :

    if (!preg_match('/^([a-zA-Z0-9\_\.]{3,20})$/',$_POST['pseudo']))
    {
       header('Location: Enregistrement.php?erreur=ERR3');
    }
    
    


    ou

    preg_match('/^([a-zA-Z0-9\_\.]{3,20})$/',$_POST['pseudo'],$matches)
    if (!count($matches[0]) == 1)
    {
       header('Location: Enregistrement.php?erreur=ERR3');
    }
    
    
    1
    1. salecoune Messages postés 52 Statut Membre
       
      Merci beaucoup ça marche ! Passe une bonne journée :)
      0
    2. Utilisateur anonyme
       
      pas de soucis. Ce site devrait pas mal t'aider en regex :
      https://www.myregextester.com/index.php

      il te permet de tester mais surtout de récupérer le code (php ou c#, etc.) bien formaté ;)
      bne aprem

      naga
      0