Controle formulaire si champ vide ok aussi

Eléphant du PHP | 257 Messages

19 janv. 2013, 13:12

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']))
		  {

Eléphant du PHP | 120 Messages

19 janv. 2013, 13:15

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.

Eléphant du PHP | 257 Messages

19 janv. 2013, 14:14

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.';		
            }
            }