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

Frystie01 14 Messages postés jeudi 2 février 2006Date d'inscription 23 septembre 2009 Dernière intervention - 29 mai 2009 à 08:58 - Dernière réponse : Frystie01 14 Messages postés jeudi 2 février 2006Date d'inscription 23 septembre 2009 Dernière intervention
- 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 

10 réponses

Répondre au sujet
coach759 43 Messages postés vendredi 29 mai 2009Date d'inscription 4 mars 2011 Dernière intervention - 29 mai 2009 à 13:37
+3
Utile
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...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de coach759
coach759 43 Messages postés vendredi 29 mai 2009Date d'inscription 4 mars 2011 Dernière intervention - 29 mai 2009 à 14:07
+3
Utile
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...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de coach759
coach759 43 Messages postés vendredi 29 mai 2009Date d'inscription 4 mars 2011 Dernière intervention - 29 mai 2009 à 10:43
0
Utile
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
Frystie01 14 Messages postés jeudi 2 février 2006Date d'inscription 23 septembre 2009 Dernière intervention - 29 mai 2009 à 13:03
0
Utile
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
coach759 43 Messages postés vendredi 29 mai 2009Date d'inscription 4 mars 2011 Dernière intervention - 29 mai 2009 à 13:13
0
Utile
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
Frystie01 14 Messages postés jeudi 2 février 2006Date d'inscription 23 septembre 2009 Dernière intervention - 29 mai 2009 à 13:23
0
Utile
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
Frystie01 14 Messages postés jeudi 2 février 2006Date d'inscription 23 septembre 2009 Dernière intervention - 29 mai 2009 à 14:01
0
Utile
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
Frystie01 14 Messages postés jeudi 2 février 2006Date d'inscription 23 septembre 2009 Dernière intervention - 29 mai 2009 à 14:28
0
Utile
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
coach759 43 Messages postés vendredi 29 mai 2009Date d'inscription 4 mars 2011 Dernière intervention - 29 mai 2009 à 14:33
0
Utile
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
Frystie01 14 Messages postés jeudi 2 février 2006Date d'inscription 23 septembre 2009 Dernière intervention - 15 juin 2009 à 11:42
0
Utile
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.