Récupérer valeur d'un input type=radio

Eléphant du PHP | 89 Messages

20 avr. 2006, 15:55

Bonjour,

Encore un petit souci. C'est sûrement tout bête, mais je n'arrive plus à récupérer les données issues d'un bouton radio !

Pourriez-vous m'indiquez comment je dois faire... merci

Eléphant du PHP | 353 Messages

20 avr. 2006, 15:57

tu récupère les valeurs d'un bouton radio s'il est coché ! ensuite tout depend de la methode que tu utilises ! POST ou GET !!

pour le bouton radio , tu peux récupérer un valeur donnée par le valeur value="" que tu definis dans ton champ radio!

Eléphant du PHP | 89 Messages

20 avr. 2006, 16:06

et bien j'utilise la method "post"

Voici le code HTML =>
<INPUT TYPE=RADIO VALUE="Cr&eacute;ation de poste" NAME=motif VALUE="creation">Création de poste  
<INPUT TYPE=RADIO VALUE="Remplacement"NAME=motif VALUE="remplacement">Remplacement
<INPUT TYPE=RADIO VALUE="Reprise d&#146;offre" NAME=motif VALUE="reprise">Reprise d'offre
Voici le code PHP =>

if(isset($_POST['motif']))      $siret=$_POST['motif'];
else      $motif="";
Ce code me semble correct, mais lorsque je fais un echo $motif, rien ne s'affiche...

Eléphant du PHP | 89 Messages

20 avr. 2006, 16:09

if(isset($_POST['motif'])) $siret=$_POST['motif'];
else $motif="";

euh... code mal retapé...

c'est bien =>
if(isset($_POST['motif']))      $motif=$_POST['motif']; 
else      $motif=""; 
désolé, ctrl C, ctrl V mal fait...

ant
Eléphant du PHP | 161 Messages

20 avr. 2006, 16:16

t'as pas oublié de définir un formulaire pour tes boutons radio?

Eléphant du PHP | 89 Messages

20 avr. 2006, 16:19

Ben c'est :
if(isset($_POST['motif']))  $motif=$_POST['motif']; 
else      $motif=""; 

echo $motif; 
Mais ça ne me donne rien, et je ne vois pas du tout pourquoi ça ne me donne rien...

Avatar du membre
ViPHP
ViPHP | 3008 Messages

20 avr. 2006, 16:23

Montres nous ton formulaire en entier.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 avr. 2006, 16:26

modération : le titre des messages doit être explicite.
On se doute bien que c'est un problème, sinon tu ne serais pas là ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 89 Messages

21 avr. 2006, 08:35

Voici mon formulaire en entier :

Code : Tout sélectionner

<HTML> <HEAD> <TITLE>Prise Offre Emploi</TITLE> </HEAD> <BODY> <FORM NAME=prise_offre METHOD="POST" ACTION=envoi.php> <TABLE WIDTH=90% BORDER=1> <TR> <TD ROWSPAN=2><IMG SRC="logo_milo.jpg" width="61" height="37"></TD> <TD ROWSPAN=2 ALIGN=CENTER><H1>PRISE D'OFFRE</H1></TD> <TD>Emploi</TD> </TR <TR> <TD>Entreprise</TD> </TR> </TABLE> Si vous avez besoin d'aide, lisez ce <A HREF=aide_prise_offre.htm>fichier d'aide</A><BR><BR> <!--PREMIER TABLEAU => L'entreprise--> <TABLE WIDTH=90% BORDER=0> <TR> <TD WIDTH=20% ALIGN=LEFT>Date : <INPUT TYPE=TEXT Name="date" MAXLENGHT=8 SIZE=6 VALUE="*"></TD> <TD ALIGN=RIGHT>Conseiller : <SELECT NAME="genre" SIZE="1" MULTIPLE><OPTION>Madame</OPTION><OPTION>Mademoiselle</OPTION><OPTION>Monsieur</OPTION></SELECT> <INPUT TYPE=TEXT NAME=conseiller VALUE="*"></TD> </TR> </TABLE> <BR> <TABLE BORDER=1 width=90%> <TR BGCOLOR=antiquewhite> <TD> <TABLE BORDER=0 WIDTH=100%> <TR> <TD COLSPAN=3 ALIGN=CENTER><H2>L'ENTREPRISE</H2></TD> </TR> <TR> <TD COLSPAN=2>Nom de l'entreprise : <INPUT TYPE=TEXT NAME=nom_entreprise VALUE="*"></TD> <TD SIZE=50%>SIRET : <INPUT TYPE=TEXT MAXLENGHT=8 NAME=siret></TD> </TR> <TR> <TD WIDTH=100% COLSPAN=3 ALIGN=LEFT>Secteur d'activité : <INPUT TYPE=TEXT NAME=secteur_act VALUE="*"></TD> </TR> <TR> <TD COLSPAN=3 VALIGN=BOTTOM>Adresse <TEXTAREA ROWS=3 NAME=adresse>*</TEXTAREA></TD> </TR> <TR> <TD ALIGN=LEFT SIZE=33%>Téléphone : <INPUT TYPE=TEXT NAME=phone VALUE="*"></TD> <TD ALIGN=LEFT SIZE=33%>Télécopie : <INPUT TYPE=TEXT NAME=telecopie></TD> <TD ALIGN=LEFT>E-mail : <INPUT TYPE=TEXT NAME=mail></TD> </TR> <TR> <TD ALIGN=LEFT COLSPAN=3>Personne à joindre <INPUT TYPE=TEXT NAME=persoajoindre VALUE="*"></TD> </TR> </TABLE> </TD> </TR> </TABLE> <!--DEUXIEME TABLEAU => Poste à Pourvoir--> <BR><BR> <TABLE WIDTH=90% BORDER=1> <TR BGCOLOR=antiquewhite><TD> <TABLE BORDER=0 WIDTH=100% CELLSPACING=2 CELLPADDING=2> <TR> <TD COLSPAN=3 ALIGN=CENTER><H2>POSTE &Agrave; POURVOIR</H1></TD> </TR> <TR> <TD ALIGN=LEFT SIZE=50%> Poste : <INPUT TYPE=TEXT NAME=poste VALUE="*"></TD> <TD ALIGN=RIGHT COLSPAN=2> ROME : <INPUT TYPE=TEXT MAXLENGHT=5 SIZE=3 NAME=rome VALUE="*">&nbsp;&nbsp;&nbsp;&nbsp;</TD> </TR> <TR> <TD COLSPAN=3 ALIGN=LEFT> Motif du recrutement :</TD> </TR> <TR> <TD WIDTH=33% ALIGN=LEFT><INPUT TYPE=RADIO VALUE="Cr&eacute;ation de poste" NAME=motif VALUE="creation">Création de poste</TD> <TD WIDTH=33% ALIGN=LEFT><INPUT TYPE=RADIO VALUE="Remplacement"NAME=motif VALUE="remplacement">Remplacement</TD> <TD WIDTH=33% ALIGN=LEFT><INPUT TYPE=RADIO VALUE="Reprise d&#146;offre" NAME=motif VALUE="reprise">Reprise d'offre</TD> </TR> <TR> <TD>&nbsp;</TD><TD></TD><TD></TD></TR> <TR> <TD COLSPAN=3 ALIGN=CENTER><H2>PROFIL RECHERCHE</H2></TD> </TR> <TR> <TD COLSPAN=3 ALIGN=LEFT>Compétences dominantes : <INPUT TYPE=TEXT NAME=competence VALUE="*"></TD> </TR> <TR> <TD>&nbsp;</TD><TD></TD><TD></TD></TR> <TR> <TR> <TD COLSPAN=3 ALIGN=CENTER><H2>FORMATION</H2></TD> </TR> <TR> <TD COLSPAN=3 ALIGN=LEFT>Domaine : <INPUT TYPE=TEXT NAME=domaine></TD> </TR> <TR> <TD ALIGN=LEFT WIDTH=50%>Diplôme : <INPUT TYPE=TEXT NAME=diplome></TD> <TD><INPUT TYPE=RADIO VALUE="souhait&eacute;" NAME=plus>souhaité</TD> <TD><INPUT TYPE=RADIO VALUE="exig&eacute;" NAME=plus>exigé</TD> </TR> <TR> <TD ALIGN=LEFT COLSPAN=3>Qualification :<INPUT TYPE=TEXT NAME=qualif></TD> </TR> <TR> <TD ALIGN=LEFT COLSPAN=3>Exigences particulières :<INPUT TYPE=TEXT NAME=exigence></TD> </TR> <TR> <TD WIDTH=50%>Expérience professionnelle :</TD> <TD><INPUT TYPE=RADIO VALUE="souhait&eacute;" NAME=experience VALUE=souhait> souhaitée</TD> <TD><INPUT TYPE=RADIO VALUE="exig&eacute;e" NAME=experience VALUE=exige> exigée</TD> </TR> <TR> <TD ALIGN=LEFT COLSPAN=3><B><U>Durée :</B></U></TD> </TR> <TR> <TD WIDTH=15% ALIGN=LEFT><INPUT TYPE=RADIO VALUE="M&ecirc;me poste"NAME=plus>Même poste</TD> <TD WIDTH=15% ALIGN=LEFT><INPUT TYPE=RADIO VALUE="M&ecirc;me secteur" NAME=plus>même secteur</TD> <TD ALIGN=LEFT><INPUT TYPE=RADIO VALUE="d&eacute;butant accept&eacute;" NAME=plus> débutant accepté</TD> </TR> <TR> <TD COLSPAN=3 ALIGN=LEFT><INPUT TYPE=RADIO VALUE="Autres" NAME=plus> Autres Précisez : <INPUT TYPE=TEXT NAME=otre></TD> </TR> </TABLE> </TD></TR> </TABLE> <!--TROISIEME TABLEAU => Conditions d'emploi--> <BR><BR> <TABLE BORDER=1 WIDTH=90%> <TR BGCOLOR=antiquewhite><TD> <TABLE BORDER=0 WIDTH=100%> <TR> <TD COLSPAN=2 ALIGN=CENTER><H2>CONDITIONS D'EMPLOI</H2></TD> </TR> <TR> <TD COLSPAN=2 ALIGN=LEFT>Conditions d'exercice (durée hebdomadaire, travail posté, travail de nuit, extérieur...)</TD> </TR> <TR> <TD COLSPAN=2><TEXTAREA NAME=condition_exo>*</TEXTAREA></TD> </TR> <TR> <TD COLSPAN=2 ALIGN=LEFT>Lieu de travail :<INPUT TYPE=TEXT NAME=lieu_travail VALUE="*"></TD> </TR> <TR> <TD COLSPAN=2 ALIGN=LEFT>Nature, type et durée de contrat :<INPUT TYPE=TEXT NAME=nature VALUE="*"</TD> </TR> <TR> <TD COLSPAN=2 ALIGN=LEFT>Déplacements <INPUT TYPE=TEXT NAME=deplacement:</TD> </TR> <TR> <TD> Salaire * : <INPUT TYPE=RADIO VALUE="Mensuel" NAME=salaire> Mensuel <INPUT TYPE=RADIO VALUE="Annuel" NAME=salaire> Annuel</TD> <TD> de <INPUT TYPE=TEXT NAME=salair VALUE=€> à <INPUT TYPE=TEXT NAME=saler VALUE=€> &nbsp;<INPUT TYPE=RADIO VALUE="smic" NAME=smic> SMIC</TD> </TR> </TABLE> </TD> </TR> </TABLE> <!--QUATRIEME TABLEAU => Traitement de l'offre--> <BR><BR> <TABLE BORDER=1 WIDTH=90%> <TR BGCOLOR=antiquewhite><TD> <TABLE BORDER=0 WIDTH=100%> <TR> <TD COLSPAN=2 ALIGN=CENTER><H2>TRAITEMENT DE L'OFFRE *</H2></TD> </TR> <TR> <TD WIDTH=50%> Transmettre directement au conseiller référent de l'offre </TD> <TD ALIGN=LEFT><INPUT TYPE=RADIO VALUE="OUI" NAME=direct>OUI</TD> </TR> <TR> <TD></TD> <TD ALIGN=LEFT><INPUT TYPE=RADIO VALUE="NON" NAME=direct>N0N</TD> </TR> <TR><TD></TD><TD>&nbsp;</TD></TR> <TR> <TD> Contacter directement l'employeur par téléphone </TD> <TD ALIGN=LEFT><INPUT TYPE=RADIO VALUE="OUI" NAME=contacter>OUI</TD> </TR> <TR> <TD></TD> <TD ALIGN=LEFT><INPUT TYPE=RADIO VALUE="NON" NAME=contacter>N0N</TD> </TR> <TR><TD></TD><TD>&nbsp;</TD></TR> <TR> <TD> Transmettre directement les CV à l'entreprise par </TD> <TD ALIGN=LEFT><INPUT TYPE=RADIO VALUE="Mail" NAME=par>Mail</TD> </TR> <TR> <TD></TD> <TD ALIGN=LEFT><INPUT TYPE=RADIO VALUE="Fax" NAME=par>Fax</TD> </TR> <TR> <TD></TD> <TD><INPUT TYPE=RADIO VALUE="Courrier" NAME=par>Courrier</TD> </TR> </TABLE> </TD></TR></TABLE> <!--TABLEAU COMMENTAIRES--> <BR><BR> <TABLE BORDER=1 WIDTH=90%> <TR BGCOLOR=antiquewhite><TD> <TABLE WIDTH=100%> <TR> <TD><TEXTAREA NAME=commentaire COLS=100 ROWS=5>Commentaires éventuels à écrire ici...</TEXTAREA></TD> </TR> </TABLE> </TD></TR> </TABLE> <INPUT TYPE=SUBMIT VALUE=Envoyer>&nbsp;&nbsp;<INPUT TYPE=RESET VALUE=Annuler> </FORM> </BODY> </HTML>

Avatar du membre
ViPHP
ViPHP | 3008 Messages

21 avr. 2006, 08:51

Tu as oublié de fermer des tags :

Code : Tout sélectionner

<INPUT TYPE=TEXT NAME=nature VALUE="*">

Code : Tout sélectionner

<input type=text name=deplacement>
Tu as oublié de mettre un espace avant le NAME de ces champs :

Code : Tout sélectionner

<INPUT TYPE=RADIO VALUE="Remplacement" NAME=motif VALUE="remplacement">

Code : Tout sélectionner

<input type=radio value="M&ecirc;me poste" name="plus">
Un conseil et de taille :
1. Nettoies ton code HTML, il est horrible et c'est une belle source d'erreur comme tu peux le constater.

2. Ecris en minuscules c'est préférable.

3. Indentes correctement tes tags, tu t'y retrouveras que mieux.

4. Mets des guillemets autour des valeurs (ex : NAME="motif" et non NAME=motif), idem pour les tailles...etc

5. Tous tes align="left" dans les <td> sont inutiles (par défaut) et surchargent ta page.

Quand tu auras fait tout ça, tu verras que ça sera beaucoup mieux ;)

Eléphant du PHP | 89 Messages

21 avr. 2006, 11:02

Bon, j'ai nettoyé mon code HTML, parcontre, en ce qui concer l'écriture en majuscule, c'est une habitude que j'ai prise afin de différencier le code HTML pure, et le nom des champs ou des attributs... Mais je vais me forcer à rédiger tout en minuscule

Sinon, en ce qui concerne le problème avec le bouton radio, toujours la même chose...

Je le teste en local, et ça ne marche pas... Je ne comprends pas pourquoi.
Le plus "bizzare", c'est qu'une fois sur le serveur, la, la récupération des données fonctionnent...

Enfin bref, problème résolu, je testerai sur le serveur, et non avec easyPHP :wink:

ViPHP
ViPHP | 2144 Messages

21 avr. 2006, 13:20

j'ai pas trouvé l'erreur, mais d'après ce que tu décris, je parierais que la version d'EasyPhp est 1.8 ou supérieur, et que sur le serveur "online" le register_global est on. Je me trompe ? 8) 8)

Eléphant du PHP | 89 Messages

21 avr. 2006, 13:32

Ben... oui, c'est bien la version 1.8... :wink:

ViPHP
ViPHP | 2144 Messages

21 avr. 2006, 17:48

Donc je supposerais qu'il s'agit d'un problème de transmissions de variable, probablement du à une petite erreur de synthaxque quelque part. Reste à trouver où ?