Vérification d'un champ

Résolu
Bonjour,

j'ai un formulaire qui est liés a une page ou l'on retrouve une requête d'insertion de donnée dans une base.

Mon problème c'est que je voudrais passer tous les champs de mon formulaire pour voir si l'utilisateur a saisi au moins un champs dans le formulaire.
en fait je ne veux pas que cela créer des lignes vides dans ma table quand l'utilisateur clique sur le bouton insérer.
Je veux vérifier qu'au moins un des champs et rempli.

Comment puis je faire? Est-ce que quelqu'un a une idée??

merci d'avance pour votre aide.



--
l'informatique est née pour nous faire réfléchir....

2 réponses

  1. Contributeur
    Bonjour,

    Teste la variable comme ceci:

    if($_POST['...']!=NULL)
    {
    }

    ou

    if($_POST['...']!="")
    {
    }

    1
    1. et sa passera tout les champs du formulaire?
      je le met dans ma deuxième page et je peux a partir de la afficher un message.
      merci je vais essayer
      0
    2. Contributeur
      Non, il faut tous les prendre en compte:

      Exemple:

      Tu as ce formulaire:

      <form action="mapage.php" method="post">
      <input type="text" name="champ1" /><br />
      <input type="text" name="champ2" /><br />
      <input type="text" name="champ3" /><br />
      <input type="submit" value="OK" /><br />
      </form>
      


      Sur la page, mapage.php, tu devras faire

      if($_POST['champ1']!="" and $_POST['champ2']!="" and $_POST['champ3']!="")
      {
      ...
      }
      


      Pour le cas ou aucun champ ne doit rester vide.

      Pour qu'au moins un champ soit rempli, tu fais:

      if($_POST['champ1']!="" or $_POST['champ2']!="" or $_POST['champ3']!="")
      {
      ...
      }
      
      0
    3. ok merci, je vais essayer dessuite...
      0
    4. merci c'est pile ce qu'il me fallait!!!

      et merci d'avoir répondu aussi vite.
      0
  2. Bonjour,

    PHP a une fonction qui marche très bien, c'est isset.

    exemple :

    if (isset($_POST['champ1'])) {
    
    $query = 'INSERT INTO matable (mavaleur) VALUE ('.$_POST['champ1'].')';
    mysql_query($query);
    
    }
    0
    1. Contributeur
      La fonction isset() teste si une variable existe. Lorsqu'on envoie des données d'une page à l'autre grâce à un formulaire, même si on laisse les champs vides, les variables seront crées mais ne contiendrons rien... En sommes isset ne fonctionnera pas ici.
      0
    2. Dans le cas présent, il faut rajouter un $_POST!="" pour que ça marche

      en reprenant mon exemple :

      if (isset($_POST['champ1']) && $_POST['champ1'])!="") {
      
      $query = 'INSERT INTO matable (mavaleur) VALUE ('.$_POST['champ1'].')';
      mysql_query($query);
      
      }
      0
    3. if($_POST['...']!=NULL)
      {
      }
      sa va m'obliger a définir un champs obligatoire non??
      0
    4. C'est peut être bien de mettre un message d'erreur pour signaler à la personne qu'il n'a pas bien rempli son formulaire.
      0
    5. oui c'est ce que j'ai fait dans le if

      j'ai dit que si les critères étaient remplis alors sa effectue la requete, sinon sa affiche qu'il faut remplir au moins un critère.
      Mais merci du conseil ;)
      0