Page 1 sur 1

Controle formulaire si champ vide ok aussi

Posté : 19 janv. 2013, 13:12
par pacphil
Bonjour je recherche le moyens de laisser un numérique vide dans le contrôle d'un formulaire
       if(!empty($_POST['gsm_m']) && is_numeric($_POST['gsm_m']))
		  {

Re: Controle formulaire si champ vide ok aussi

Posté : 19 janv. 2013, 13:15
par Perine
Je ne vois vraiment pas en quoi cette question est avancée, mais pour autoriser un champ vide, la plus simple des choses est de ne pas interdire qu'il soit vide comme tu le fais.

isset($_POST["champ"]) && (trim($_POST["champ"]) === "" || autre_verification($_POST["champ"]))

D'ailleurs is_numeric ne vérifie pas la validité d'un numéro de téléphone.

Re: Controle formulaire si champ vide ok aussi

Posté : 19 janv. 2013, 14:14
par pacphil
je sais, je le fessais avec un preg_match pour tester le format , mais je voyais pas comment réaliser un test vide ok et remplis ok comme pour une adresse url
          
if(preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i',$_POST['site_m']))
          {	

          if(preg_match('/\(?\d{4}\)?[-\s.]?\d{3}[-\s.]\d{3}/x',$_POST['gsm_m']))
          {	

et l'erreur plus bas dans le script comme ici dessous etc.... la même pour tous les contrôles
            }
            else
            {                              									 
            //Sinon on dit quil y a eu une erreur
            $form = TRUE;
            $message = ' Adresse htpp://www.votresite.com à revoir svp.';		
            }
            }