2010-11-18 26 views
1

我有一个相当基本的表单,它为单个单选按钮设置了输入字段。表单字段上的单选按钮始终提交为ON/TRUE

有一个php脚本处理表单并将值插入到mysql数据库中。出于某种原因,每当我填写表格时,无论我是否选择了收音机,结果都始终为ON/TRUE。

这里是我的输入字段:

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

这里是应该处理的PHP代码的一部分:

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

有人能告诉我是什么兴田问题从代码或我需要发布更多吗?

这里是完整形式的代码:

<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> 

注意,单选按钮输入没有JavaScript的施加到其上。我尝试用YES或NO填充value =“”或将其留空。

回答

1

您需要测试单选按钮的。该变量将始终存在,因此isset()必定始终返回true。

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

抱歉没有工作。无论如何,答案始终都是相同的。 – gteh 2010-11-23 15:33:12

+0

编写脚本的人说我的页面上有javascript,它始终将单选按钮设置为ON,但事实并非如此。我那里唯一的JavaScript是jquery文件。这让我疯狂 – gteh 2010-11-23 15:34:13

+0

@gteh你能展示完整表单的HTML代码吗? – 2010-11-23 15:36:38

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

测试,但似乎没有工作..有同样的问题。只有这一次答案总是NO而不是YES。 – gteh 2010-11-23 15:30:38

+0

1.在提交之后和之前打印$ _POST ['news']的值(if(isset($ _ POST ['news'])&& $ _POST ['news'] =='yes'))condition)。所以我们来了解$ _POST ['news']的价值。 2如果你正在尝试使用news =''这个条件,那么它会给你结果“否” – 2010-11-24 05:35:22

0

有关jQuery代码,javascript中并不需要在里面的HTML工作。如果我是你,我会通过我的代码搜索.attr(“checked”,“checked”)或.prop(“checked”);