Vérification d'un champ

Résolu
caro__48 Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   -  
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   -
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.




2 réponses

Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
Bonjour,

Teste la variable comme ceci:

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

ou

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

1
caro__48 Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   61
 
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
Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
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
caro__48 Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   61
 
ok merci, je vais essayer dessuite...
0
caro__48 Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   61
 
merci c'est pile ce qu'il me fallait!!!

et merci d'avoir répondu aussi vite.
0
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   31
 
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
Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
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
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   31
 
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
caro__48 Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   61
 
if($_POST['...']!=NULL)
{
}
sa va m'obliger a définir un champs obligatoire non??
0
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   31
 
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
caro__48 Messages postés 242 Date d'inscription   Statut Membre Dernière intervention   61
 
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