Posez votre question Signaler

PHP-isset

Gael - Dernière réponse le 22 mai 2011 à 13:37
Bonjour,
Je travail actuellement sur un script en PHP qui utilise un formulaire HTML.
Je voudrais savoir si il est possible de vérifier si le formulaire que je veux exploiter a été saisie.
Je sais que l'on peut utiliser la fonction isset() pour vérifier si quelque chose est saisie, mais je ne vois pas comment introduire mon formulaire là dedans puisque c'est du HTML. (le formulaire renseigne environ 10 champs et il est trop long de verifier tout les champs par un $_REQUEST[duchamps].)
Merci
Lire la suite 
Réponse
+3
moins plus
Bonjour

1 - isset vérifie si la variable existe, pas si quelque chose a été saisi dedans. Il faut utiliser is_empty pour tester s'il y a eu une saisie

2 - tu peux faire une boucle en utilisant un array qui contient les noms de tes 10 champs pour faire tes vérifications sans ré-écrire 10 fois le même code, mais ce n'est pas une bonne solution car en général, tu ne te contentes pas de tester l'existence. Tu as toujours des tests différents sur les divers champs, et des messages différents à afficher à l'utilisateur selon les erreurs de saisie qu'il a commises.

3- avis personnel : évite d'utiliser $_REQUEST, utilise plutôt $_POST, $_GET ou $_COOKIE pour mieux contrôler l'origine de tes variables
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+1
moins plus
Salut,

Tu veux dire vérifier si chacun des dix champs a été completé ? Et sans avoir à faire isset() dix fois ?

isset() vérifie si une variable existe. Dès que tu envoies le formulaire, les dix variables existeront, qu'elles soit nulles ou non ! A l'exception des cases à cocher.

Pour savoir si le formulaire est envoyé, utilise isset() sur un champ de texte (ou n'importe quoi d'autre sauf un checkbox). S'il renvoi true alors le formulaire est envoyé.

Et pour vérifier si les champs ne sont pas nuls, tu dois le faire individuellement sauf si tu n'as que des champs de texte.

;-)
Gael- 22 mai 2011 à 11:44
"Et pour vérifier si les champs ne sont pas nuls, tu dois le faire individuellement sauf si tu n'as que des champs de texte. "
Effectivement j'ai 9 champs de texte et 1 champ saisi par liste déroulante.
As tu une solution pour vérifier les 9 champs de texte en même temps?
Répondre
Bilow 1035Messages postés samedi 21 août 2010Date d'inscription 22 avril 2015Dernière intervention - 22 mai 2011 à 12:54
Les listes déroulantes ont le même fonctionnement que les champs de texte.
Fais une boucle :

$formOk = true;
foreach($_POST as $key => $val){
if($val){
echo "$key n'est pas nul<br>";
}
else{
echo "$key est nul<br>";
$formOk = false;
}
}
echo $formOk ? "Tous les champs sont ok !<br>" : "Erreur...<br>";

Tu auras la liste détaillée de ce qui est rempli ou non, et $formOk sera un booléen qui t'indiquera si tous les champs sont remplis.

A noter que tu ne dois effectuer cette boucle que si le formulaire est envoyé, en vérifiant avec isset($_POST['un_des_champs_(n'importe_lequel)'])

;-)
Répondre
Gael- 22 mai 2011 à 13:37
Merci beaucoup !
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
Bah où est le probleme ? De faire
<?php
if (isset($_REQUEST['truc'])
{
...
}
Ajouter un commentaire
Réponse
+0
moins plus
Le problème c'est que j'ai une dizaine de 'truc' à vérifier si je fais ca....
Je voulais savoir si il existe une solution moins fastidieuse...

Merci quand même de m'aider.
Ajouter un commentaire
Ce document intitulé «  PHP-isset  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.