Php formulaire

bjr à tous
je suis sur un travail en php.
alors ca a lair tout bete mais quel est le code qu'il faut mettre pour verifier si les champs que je recupere d'un formulaire sont en format numerique???
Merci de me repondre
Configuration: Windows XP
Firefox 2.0.0.4

3 réponses

  1. Salut a toi voila la soluce si j'ai bien compris :

    if(!(empty($_GET['id'])))
    {
      $id = htmlentities($_GET['id'],ENT_QUOTES);
      $id =(int)$id;
    
      if($id == 0)
         echo ''cetta variable est un entier";
      else
         echo "cette variable n'est pas un entier
    }
    


    Sachant que si c'est une variable qui provient d'un formulaire, elle est toujours considérée comme chaine de caractere.

    C'est pourquoi je fais un cast ($id=(int)$id),
    Et si la variable est un entier après le "cast" $i prend la valeur de la variable envoyée au formulaire,
    Sinon la variable prend al valeur zero,

    Reste a verifier si la valeur recupérée est différente de zéro, je te laisse ce petit test ;)

    Tchô !

    EDIT :
    Sinon tu peux aussi voir du coté des expressions regulières [:digit:] qui correspond au numérique
    1. Merci bocou pour ta reponse

      Mais je mdemandais si jpouvais utiliser
      preg_match('[0-9]',$p)

      parce que c'est pas vraiment des entiers c'est plutot de n° de carte d'identité que je saisie.
      donc je voudrais aussi verifier qu'il y ait 8 chiffre.
      Le problème c'est que ca nfonctionne pas comme je l'ai ecrite la preg_match
      1. Essai avec ca :
        "^[:digit:]+$"


        Ce qui correspond à un nombre
        1. Merci bocou à ts
          finalment c'est bon ca marche en faisant
          preg_match('/[0-9]{8}/',$cin))
          ensuite j'ajoute un
          (strlen($cin)==8))
          pour m'assurer que ca contienne bien 8 chiffre
          J'ai pas l'impression que ce soit tres optimal comme option mais bon ca fait laffaire