Vérification d'un champ

Résolu
caro__48 Messages postés 264 Statut Membre -  
Eastchild Messages postés 337 Statut Membre -
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 7012 Statut Contributeur 1 695
 
Bonjour,

Teste la variable comme ceci:

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

ou

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

1
caro__48 Messages postés 264 Statut Membre 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 7012 Statut Contributeur 1 695
 
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 264 Statut Membre 61
 
ok merci, je vais essayer dessuite...
0
caro__48 Messages postés 264 Statut Membre 61
 
merci c'est pile ce qu'il me fallait!!!

et merci d'avoir répondu aussi vite.
0
Eastchild Messages postés 337 Statut Membre 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 7012 Statut Contributeur 1 695
 
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 337 Statut Membre 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 264 Statut Membre 61
 
if($_POST['...']!=NULL)
{
}
sa va m'obliger a définir un champs obligatoire non??
0
Eastchild Messages postés 337 Statut Membre 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 264 Statut Membre 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