Accueil > Forum > > > > Rendre un champ obligatoire si un bouton est coché
Rendre un champ obligatoire si un bouton est coché
mardi 16 juin 2009 à 15:01:38 |
Rendre un champ obligatoire si un bouton est coché

Frystie01
|
Bonjour, j'aimerais rendre un champ obligatoire uniquement si un bouton est coché. J'ai fait plusieurs essais mais il y a toujours un truc qui bloque : soit le formulaire s'envoie même si le champ n'est pas remplit, soit il ne s'envoie pas même si tout est OK... Je commence à désespérer, je ne trouve pas non plus ma solution sur les forums.... Une idée ? Merci d'avance.
|
|
mardi 16 juin 2009 à 15:15:39 |
Re : Rendre un champ obligatoire si un bouton est coché

TychoBrahe
|
Salut,
Pour commencer tu ne pourras jamais forcer un client a ce genre de conditions, il te faudra toujours une vérification côté serveur pour la gestion de ce genre d'erreur. Après, tu peux faire un petit contrôle côté client en javascript qui te permet de désactiver le bouton d'envie du formulaire tant que tous les champs obligatoires ne sont pas remplis.
|
|
mardi 16 juin 2009 à 18:54:52 |
Re : Rendre un champ obligatoire si un bouton est coché

kohntark
|
Salut,
... et puis pour pouvoir t'aider il faudrait fournir ce que tu as déjà tenté.
Kohntark -
|
|
mercredi 17 juin 2009 à 10:30:27 |
Re : Rendre un champ obligatoire si un bouton est coché

Frystie01
|
J'ai peut-être pas été très clair désolé, donc voici mon code (sachant que mon bouton est "elect1" avec pour valeur "Oui je veux plus de 1000W/10m2" et le champs à remplir "desc"
if($_POST["elect1"]=="Oui je veux plus de 1000W/10m2"){} elseif (trim($desc)=="") { echo "<br /><br /><br /><br /><br /><br /><p align=center><b>ERREUR : VEUILLEZ COMPLETER INDIQUER LE DETAIL DE VOS APPAREILS ELECTRIQUES SVP</b>";?> <br /><a href="javascript:history.go(-1)">Retour au formulaire</a></p><? }
Le problème c'est que ce code ne fait qu'obliger à compléter le champ "desc", je voudrais qu'il soit obligatoire que si le bouton "elect1" est coché. Le but c'est que si les gens demandent plus d'électricité dans leur stand ils doivent décrire leurs appareils électriques qui seront utilisés... Sinon ce n'est pas la peine...
_______________________________________________ MYD-C . myd-c.over-blog.com
|
|
jeudi 18 juin 2009 à 16:20:42 |
Re : Rendre un champ obligatoire si un bouton est coché

roymatthieu
|
Salut, Tu utilises un ESLEIF, ce qui dans ton cas n'est pas bon. C'est pas bon car si une condition du jeu de if elseif est respectée, il ne vérifie plus celle qui suive. Je te traduit ton code : if($_POST["elect1"]=="Oui je veux plus de 1000W/10m2") {}elseif (trim($desc)=="") { echo "<br /><br /><br /><br /><br /><br /><p align=center><b>ERREUR : VEUILLEZ COMPLETER INDIQUER LE DETAIL DE VOS APPAREILS ELECTRIQUES SVP</b>";?> <br /><a href="javascript:history.go(-1)">Retour au formulaire</a></p><? } Si $_POST["elect1"]=="Oui je veux plus de 1000W/10m2" -> On ne fait rien. Sinon : Alors si trim($desc)=="" -> On affiche ton "echo" Essaye ça : if($_POST["elect1"]=="Oui je veux plus de 1000W/10m2"){ if (trim($desc)=="") { echo "<br /><br /><br /><br /><br /><br /><p align=center><b>ERREUR : VEUILLEZ COMPLETER INDIQUER LE DETAIL DE VOS APPAREILS ELECTRIQUES SVP</b>";?> <br /><a href="javascript:history.go(-1)">Retour au formulaire</a></p><? }
} J'espère avoir compris ton problème et avoir su t'aider.
|
|
vendredi 19 juin 2009 à 13:00:31 |
Re : Rendre un champ obligatoire si un bouton est coché

Frystie01
|
Merci de ta réponse, j'ai essayé mais ça ne marche toujours pas, soit le formulaire s'envoie même si le champ n'est pas remplit soit j'arrive sur une page blanche...
Peut-être faut il mettre un autre code pour dire ce qu'il doit faire si la case n'est pas coché avec if($_POST["elect1"]==""){..... mais ça n'a pas l'air de marcher non plus... _______________________________________________ MYD-C . myd-c.over-blog.com
|
|
vendredi 19 juin 2009 à 14:26:03 |
Re : Rendre un champ obligatoire si un bouton est coché

Frystie01
|
Ce qui marche le mieux c'est ça : if($_POST["elect1"]=="Oui je veux plus de 1000W/10m2"){
if (trim($desc)=="") { echo "<br /><br /><br /><br /><br /><br /><p align=center><b>ERREUR </b>";?> <br /><a href="javascript:history.go(-1)">Retour au formulaire</a></p><? }
}
Là si la case n'est pas cochée pas de souci, il s'envoie,  si elle est cochée mais que le champs n'est pas rempli : pas de souci il ne s'envoie pas  Par contre si la case est coché et que le champ l'est aussi : j'arrive sur une page blanche alors que le message devrait s'envoyer. Que faire ???  _______________________________________________MYD-C . myd-c.over-blog.com
|
|
vendredi 19 juin 2009 à 16:21:03 |
Re : Rendre un champ obligatoire si un bouton est coché

kohntark
|
Je ne vois pas la différence avec le code de roymatthieu (hormis le echo) ??? Pour ta question il faudrait voir le reste du code. C'est un mail que tu envoies ? Comme l'a évoqué TychoBrahe, que tu ne procèdes pas de la bonne manière, tu devrais avoir ce schéma : page formulaire => contrôle par un script javascript que les données sont correctement remplies => pas OK -> message "erreur, veuillez remplir tous les champs" Pas d'envoi du formulaire => OK -> soumission à la page traitement page traitement : => contrôle et sécurisation des données reçues if($_POST["elect1"] == "Oui je veux plus de 1000W/10m2" && !empty(trim($desc)) && strip_tags($_POST['autres_données']) && [autres données] ...) { // envoi du mail
} else { // si ce else est exécuté c'est que qq chose n'est pas normal (tentative d'intrusion, de spam, etc ...) // mail au webmaster pour information } NB : ou et comment est définie $desc ? Cordialement, Kohntark -
|
|
lundi 22 juin 2009 à 11:33:32 |
Re : Rendre un champ obligatoire si un bouton est coché

Frystie01
|
Donc je devrais avoir le message d'erreur et l'envoi du mail direcetement sur mon formulaire en html, et mes contrôles sur mon autre page en php. Le problème c'est que j'y connais rien javascript lol Pour "desc", et même chose pour les autres champs, il est définit par : $desc=$_POST["desc"]; J'ai plusieurs code de ce style là pour contrôler :elseif (trim($nom)=="") { echo "<br /><br /><br /><br /><br /><br /><p align=center><b>ERREUR : VOTRE NOM EST VIDE</b>";?> <br /><a href="javascript:history.go(-1)">Retour au formulaire</a></p><? } ça pour envoyer :else { //Envoie le message mail($destinataire,$objet2,$message,$from); echo "<br /><br /><br /><br /><br /><br /><p align=center><b>Votre message a bien été envoyé</b>"; } Tout ça marchait tout bien jusqu'à ce double contrôle...  Je ne sais pas si quelqu'un a déjà quelque chose de fait dans ce style que je vois et surtout comprenne mieux parce que vous l'aurez compris je débute et j'ai beaucoup de mal... _______________________________________________MYD-C . myd-c.over-blog.com
|
|
lundi 22 juin 2009 à 20:45:19 |
Re : Rendre un champ obligatoire si un bouton est coché

kohntark
|
Donc je devrais avoir le message d'erreur et l'envoi du mail direcetement sur mon formulaire en html, et mes contrôles sur mon autre page en php. => Non !! J'ai l'impression qu'il faut rappeler le côté client / serveur d'une requête http : Dans ta page HTML qui contient le formulaire tu contrôles que les champs soient correctement remplis, si ils ne le sont pas tu informes l'utilisateur (par un alert par exemple) => c'est côté client que ça se passe (HTML, CSS, javascript, ...) Il n'y a donc pas soumission (d'envoi) du formulaire (cad client => serveur)
Si les champs sont OK le formulaire est soumis au serveur. Ce dernier effectue un contrôle des données postées. Si elles ne sont pas correctes c'est que l'utilisateur a tenté d'envoyer une requête sans passer par le formulaire, ça peut être une tentative de piratage (donc envoie d'un mail à l'admin, bannissement de l'ip, ....) Ensuite seulement tu envoies le mail. Un mail ne peut pas être envoyé côté client (javascript) mais uniquement côté serveur (php)
Tout ça marchait tout bien jusqu'à ce double contrôle... => correction :o) ... semblait bien marcher. Je dis ça car tu t'exposes à de très sérieux problèmes de sécurité et il est très facile d'utiliser ton formulaire pour envoyer des mails sous le nom "tartanpion" ou "frystle" à des milliers de personnes (fais une recherche sur "php mail injection headers")
Je te laisse chercher également pour l'exemple demandé car il y en a des centaines de milliers sur le net.
Cordialement,
Kohntark -
|
|
Cette discussion est classée dans : bouton, champ, rendre, coché, obligatoire
Répondre à ce message
Sujets en rapport avec ce message
Rendre un champ obligatoire si 1 bouton radio coché [ par Frystie01 ]
Bonjour tout le monde,j'ai 2 boutons radio dans un document html et en dessous un champ à remplir que j'aimerais rendre obligatoire seulement si le 2e
dreamweaver champ obligatoire [ par cobra176 ]
bonjour tousj'ai commencé a travailler avec dreamweaver , et j'ai réaliser un formulaire connécte a un base sql ( j'utilise esay-php pour cela)je réal
Champ obligatoire [ par chlock ]
Salut a tous, j'ai un formulaire et j'aimerai bloquer l'envoi tant que certains champs ne sont pas rempli. et qu'unefois le formulaire rempli l'envoi
PHP: récupérer le champ d'un formulaire sans Bouton! [ par brahma ]
hello ,avec php: comment puis je récupérer la valeur d'un champ d'un formulaire, lorsque l'utilisateur me donne la main en passant par un lien hyperte
Bouton, post submit isset ne fonctionne plus... [ par morbak01 ]
Bonjour, J'ai une page qui contient des boutons. et selon le bouton kiké, la page doit se recharger et executer une action particuliere. Ca à marché
Rendre inactif un bouton [ par wadpap13 ]
Bonjour à tous !Cette question vous paraitra surement "légère" mais je n'arrive pas à trouver comment desactiver un bouton de type submit ou button un
bouton cocher pour somettre formulaire [ par pyranhaz ]
Bonjour,Comment faire pour obliger de cocher le bouton cocher pour soummetre le formulaire ???un simple vérification ne m'intéresse pas, je veux absol
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|