2010-11-18 3 views
1

J'ai un formulaire assez basique mis en place avec un champ de saisie pour un seul bouton radio.Le bouton radio sur le champ de formulaire soumettant toujours comme ON/TRUE

Il existe un script php qui traite le formulaire et insère les valeurs dans une base de données mysql. Pour une raison quelconque, chaque fois que je remplis le formulaire, que la radio soit sélectionnée ou non, le résultat est toujours ON/TRUE.

ici est mon champ de saisie:

<input type="radio" name="news" id="news" class="radio" value="yes" /> 

Voici une partie du code PHP qui est censé traiter que:

if(isset($_POST['news'])) 
{ 
$news = "Yes"; 
} 
else 
{ 
$news = "No"; 
} 

Quelqu'un peut-il me dire quel problème hte est de ce code ou aurais-je besoin de poster plus?

ici est le code complet de forme:

<form method="POST" id="ipad" name="ipad" action="list.php"> 
<input type="text" onfocus="if (this.value == 'First Name') {this.value = '';}" onblur="if (this.value == '') {this.value = 'First Name';}" value="First Name" id="fname" name="fname" class="inputtext"> 


<input type="text" onfocus="if (this.value == 'Last Name') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Last Name';}" value="Last Name" id="lname" name="lname" class="inputtext"> 

<input type="text" onfocus="if (this.value == 'Email') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Email';}" value="Email" id="email" name="email" class="inputtext"> 

<input type="text" onfocus="if (this.value == 'Code') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Code';}" value="Code" id="code" name="code" class="inputtext"> 


<input type="radio" value="" class="radio" id="news" name="news"> 
<div class="radiotext">sign up?</div> 

    </form> 

Notez que l'entrée du bouton radio n'a pas javascript été appliquée. J'ai essayé de remplir la valeur = "" avec OUI ou NON ou en laissant vide.

Répondre

1

Vous devez tester la valeur du bouton radio. La variable sera toujours présente, donc isset() est lié à retourner toujours vrai.

if(!empty($_POST['news']) and ($_POST['news'] == 'yes')) 
+0

Désolé n'a pas fonctionné. La réponse finit toujours par être la même malgré tout. – gteh

+0

Le gars qui a écrit le script dit que j'ai javascript sur ma page qui met toujours le bouton radio sur ON, mais ce n'est pas le cas. Le seul javascript que j'ai sur il y a le fichier jquery. Cela me rend fou – gteh

+0

@gteh pouvez-vous montrer le code HTML du formulaire complet? –

1
if (isset($_POST['news']) && $_POST['news'] == 'yes'){ 
    $news = "Yes"; 
} 
else 
{ 
    $news = "No"; 
} 
+0

test mais ne semble pas fonctionner .. avoir le même problème. Seulement cette fois la réponse est toujours NON au lieu de OUI. – gteh

+0

1. imprime la valeur de $ _POST ['news'] après soumettre et avant (si (isset ($ _ POST ['news']) && $ _POST ['news'] == 'oui')) la condition vient. Nous arrivons donc à savoir quelle est la valeur de $ _POST ['news']. 2 Si vous essayez cette condition avec news = '' alors il vous donnera le résultat "Non" –

0

sur ce code jquery, javascript n'a pas besoin d'être à l'intérieur html pour travailler. Si j'étais vous, je chercherais dans mon code pour .attr ("checked", "checked") ou .prop ("checked");

Questions connexes