Rendre un champ obligatoire si 1 bouton radio coché [Résolu]

Messages postés
14
Date d'inscription
jeudi 2 février 2006
Dernière intervention
23 septembre 2009
- 29 mai 2009 à 08:58 - Dernière réponse :
Messages postés
14
Date d'inscription
jeudi 2 février 2006
Dernière intervention
23 septembre 2009
- 15 juin 2009 à 11:42
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 bouton radio est coché.
Il ne concerne pas le 1er bouton donc la 1ère option mais si on choisit la 2e option il faudrait précisé pourquoi dans le champ en dessous...

J'aimerais rendre ça possible en php avec une ligne "if(!preg_match(..." ou autre.

Quelqu'un aurait t-il la solution? Merci d'avance

_______________________________________________
MYD-C . <cite>myd-c.over-blog.com</cite>
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
43
Date d'inscription
vendredi 29 mai 2009
Dernière intervention
4 mars 2011
29 mai 2009 à 13:37
3
Merci
Ba oué, c'est tout bête, c'est parce que tu ne mets pas d'instruction dans ton if.

Tu peux ne rien mettre, mais dans ce cas, tu doit mettre {}:

if($_POST["elect1"]=="Electricité plus que 1000W/10m2"){}
elseif (trim($desc)=="")
{

....
}

Voila, bonne journée
Si à la Saint Valentin elle te caresse la main, vivement la Sainte Marguerite...

Merci coach759 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de coach759
Meilleure réponse
Messages postés
43
Date d'inscription
vendredi 29 mai 2009
Dernière intervention
4 mars 2011
29 mai 2009 à 14:07
3
Merci
Normal, vu que t'a mis

if($_POST["elect1"]=="Electricité plus que 1000W/10m2"){}

Donc lui il ne fait rien, à l'intérieur de {}mets tes instructions....
Si à la Saint Valentin elle te caresse la main, vivement la Sainte Marguerite...

Merci coach759 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de coach759
Messages postés
43
Date d'inscription
vendredi 29 mai 2009
Dernière intervention
4 mars 2011
29 mai 2009 à 10:43
0
Merci
Bonjour,

Il faut que tu vérifie lorsque l'utilisateur valide le formulaire:
Tu test si le 2ème bouton est coché (avec if($_POST["nom_de_ton_boutton_radio"]=="valeur_option_2")
Si elle est coché, tu vérifie la valeur du champs "pourquoi" et si il est vide, tu renvoie à la page avec un message d'erreur.

Sinon, tu peux faire les tests en javascript et empêcher d'envoyer le formulaire si le champs n'est pas rempli.
Mais comme je ne suis pas un pro en javascript...

Bonne journée

Si à la Saint Valentin elle te caresse la main, vivement la Sainte Marguerite...
Commenter la réponse de coach759
Messages postés
14
Date d'inscription
jeudi 2 février 2006
Dernière intervention
23 septembre 2009
29 mai 2009 à 13:03
0
Merci
Merci de ta réponse , par contre je bloque pour vérifier la valeur du champ "pourquoi" (qui s'appelle "desc" en fait),

voici mon code:
if($_POST["elect1"]=="Electricité plus que 1000W/10m2")
elseif (trim($desc)=="")
{
        echo "

ERREUR : VOUS AVEZ COCHE LA CASE PLUS DE 1000W/10m2, VOUS DEVEZ REMPLIR LE CHAMP CORRESPONDANT";?>
       
[javascript:history.go(-1) Retour au formulaire]

<?
}

ça bloque à la partie elseif.... mais je sais pas comment faire d'autre...

_______________________________________________
MYD-C . <cite>myd-c.over-blog.com</cite>
Commenter la réponse de Frystie01
Messages postés
43
Date d'inscription
vendredi 29 mai 2009
Dernière intervention
4 mars 2011
29 mai 2009 à 13:13
0
Merci
C'est parce que $desc n'est pas initialisé...
C'est plutot $_POST['desc']...

Et n'oublie pas de "sécuriser"  $_POST['desc'], pour pas que les gens rentre n'importe quoi, avec par exemple htmlentities( $_POST['desc']) ou htmlspecialchars( $_POST['desc'])

Si à la Saint Valentin elle te caresse la main, vivement la Sainte Marguerite...
Commenter la réponse de coach759
Messages postés
14
Date d'inscription
jeudi 2 février 2006
Dernière intervention
23 septembre 2009
29 mai 2009 à 13:23
0
Merci
Il l'est via
$desc=$_POST["desc"];

D'après le code d'erreur, le problème est au niveau de
elseif (trim($desc)=="")

_______________________________________________
MYD-C . <cite>myd-c.over-blog.com</cite>
Commenter la réponse de Frystie01
Messages postés
14
Date d'inscription
jeudi 2 février 2006
Dernière intervention
23 septembre 2009
29 mai 2009 à 14:01
0
Merci
Merci, y a du mieux : ça marche pour la 2e option !
Par contre c'est la première option qui ne marche plus...
Si je choisis la 1ère option j'arrive sur une page blanche et mon formulaire ne s'envoie pas, pas de ligne d'erreur, rien...
Faut-il mettre un code pour cette option là?

_______________________________________________
MYD-C . <cite>myd-c.over-blog.com</cite>
Commenter la réponse de Frystie01
Messages postés
14
Date d'inscription
jeudi 2 février 2006
Dernière intervention
23 septembre 2009
29 mai 2009 à 14:28
0
Merci
T'es trop fort !
C'est nickel chrome chocolat !
ça paraît évident maintenant que le code est complet, mais y a des fois...
J'ai encore des progrès à faire... beaucoup même ! lol

Merci encore 1000 fois !

_______________________________________________
MYD-C . <cite>myd-c.over-blog.com</cite>
Commenter la réponse de Frystie01
Messages postés
43
Date d'inscription
vendredi 29 mai 2009
Dernière intervention
4 mars 2011
29 mai 2009 à 14:33
0
Merci
Ya pas de problème, si t'a dotre problème n'hésite pas....
Ya pas de question idotes et ça peut servir à d'autres... N'oublie pas de valider le sujet....

A+, bonne journée

Si à la Saint Valentin elle te caresse la main, vivement la Sainte Marguerite...
Commenter la réponse de coach759
Messages postés
14
Date d'inscription
jeudi 2 février 2006
Dernière intervention
23 septembre 2009
15 juin 2009 à 11:42
0
Merci
Je viens de m'apercevoir d'un truc qui ne pas pas du tout :
si le 2e bouton radio est coché pas de souci, il faut obligatoirement la description pour que les réponses s'envoie,
par contre si le 1er bouton radio est coché le message s'envoie même si l'une des autres règles n'est pas respecté...
Ce qui donne ce genre de message :

VOTRE EMAIL N'EST PAS VALIDE
[javascript:history.go(-1) Retour au formulaire]

Votre message a bien été envoyé

par exemple dans ce cas l'email n'est pas bon mais comme le code indique que si la première case est cochée le message s'envoie.
Les autres codes qui disent de ne pas l'envoyer sont ignorés.

sachant que du coup il y a deux fois l'instruction d'envoyer le message :

else {

//Envoie le message

mail($destinataire,$objet2,$message,$from);


echo "

Votre message a bien
&eacute;t&eacute; envoy&eacute;";


}

Une fois pour cette partie sur l'électricité,
l'autre pour envoyer le message si tout est bien rempli...

voici la partie du php qui pose problème (je pense) :

if($_POST["elect1"]= ="Electricité plus que 1000W/10m2"){}
else {
//Envoie le message
mail($destinataire,$objet2,$message,$from);

echo "

Votre message a bien &eacute;t&eacute; envoy&eacute; ";

}

if($_POST["elect1"] =="Electricité jusqu'à 1000W/10m2"){}
elseif (trim($desc)=="")
{
        echo "

ERREUR : VEUILLEZ COMPLETER LA PARTIE ELECTRICITE SVP";?>
       
[javascript:history.go(-1) Retour au formulaire]

<?
}

_______________________________________________
MYD-C . <cite>myd-c.over-blog.com</cite>
Commenter la réponse de Frystie01

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 et codes sources.

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