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
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é
champ upload dans un formulaire [ par mahamourta ]
Salut J'ai inserer un champ upload dans mon formulaire d'inscription.Un bouton de validation des informations se trouve deja dans ce formulaire.L'or
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
insertion texte [ par MasterJmC ]
Salut est ce que quelqu'un pourrait me dire comment faire pour insérer des caractères dans un champ texte de formulaire à partir d'une image ou d'un b
Insertion automatique de texte dans un champ de texte. [ par Ang3lo ]
Salut,J'aimerais savoir comment peut-on inserer du texte dans un champ de texte automatiquement, juste en cliquant sur un bouton, à la manière des for
mettre une valeur dans un champ [ par metis15 ]
Bonjour,je ne suis pas surdoué du code , plutôt le contraire.Je souhaite que le clic sur un bouton dit CONTACT, qui déclanche l'apparition d'une page
rendre saisi des champs obligatoire [ par aaaa2050 ]
Bonjour tout le monde, j au une page de contact ou je veux rendre le saisi dans les champs de formulaire obligatoire; car meme je laisse les champs
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|