Bonjour,
Question très simple, est-il possible de connaitre directement le type d'une variable $_POST ?
Par exemple, j'aimerais pouvoir ignorer tous les champs de type='submit'
Merci.
Bonjour,
Question très simple, est-il possible de connaitre directement le type d'une variable $_POST ?
Par exemple, j'aimerais pouvoir ignorer tous les champs de type='submit'
Merci.
???? Je ne comprends pas l'idée qui sous-tend la question.
car
- Les inputs de type submit ne sont pas repris dans le POST.
- $_POST est un array associatif de type cle=>valeur. Tu lui donnes un index sous la forme d'un nom, il te fourni en réponse un string. Et puis c'est tout.
Pour connaire le contenu de $_POST, je te conseille de mettre dans ton code ces quelques lignes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 foreach($_POST as $cle=>$valeur) { print("POST[".$cle."] = ".$valeur."<br>\n"); }
Hello,
J'utilise ce foreach pour traiter mes post de manière générique. Seulement si par exemple je fais une insertion SQL, le $_POST['submit'] va etre traité dans le foreach...
Je voulais juste savoir si il y avait moyen de ne pas traiter ce genre de POST sans devoir faire if($key!='submit'){ ... }
Peux-tu montrer ton code. Car je n'y vois pas encore bien clair.
Bonjour,
malheureusement la réponse à ta question est NON.
HTTP est un protocole indépendant du format HTML, donc dans une requete HTTP (typiquement émise par un navigateur web lors de la soumission d'un formulaire) contient des noms de parametres associés à des valeurs, mais aucune relation avec le code html du formulaire qui en est à l'origine.
Donc, coté serveur (quelque soit le language) on peut voir que telle ou telle paramètre à été envoyé dans la requete ($_GET, $_POST, $_COOKIES), que ces paramètre on telle ou telle valeur, mais c'est tout (c'est déjà pas mal).
CONCLUSION : il va falloir ruser
Par exemple, tu peux inclure le type dans le nom de tes champs html :
Après, en php tu n'as plus qu'a faire des tests sur le nom des parametres :
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <form ... blabla> <input type="text" name="text_login"/> <input type="password" name="password_motDePasse"/> <input type="submit" name="submit_boutonValider" value="valider"/> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 foreach($_POST as $nom=>$valeur) { if(substr($nom,0,7) != 'submit_') { // ... tu fais tes traitements } }
Hello, merci pour cette précision
J'ai déjà fait des trucs similaires pour le contrôle des champs en JS (en plus des controles PHP). où j'appelais mes champs obligatoires commençaient par "req_mavariable" ou encore des champs de type mail "email_mail" et combinaison des 2 "req_email_mail", etc...
Mais effectivement je n'avais pas pensé rajouter les submit.
En tout cas merci!
Partager