2014-10-02 108 views
0

我有一个单选按钮的形式,我想要一些代码来运行,这取决于选择哪个单选按钮。最初我是通过使每个选项的“名称”不同而做到这一点,但由于每个单选按钮的名称应该相同,所以会导致问题。单选按钮和IF语句

下面是一个形式的代码示例

<li><label for="vsat">YES</label><input type="radio" name="camp" id="vsat" value="vsat" ></li> 
<li><label for="vsat2">NO</label><input type="radio" name="camp" id="vsat2"  value="vsat2" ></li> 

因此,有两个选项,是或否。如果选择了“是”,我希望它回显“您选择了YES”,如果选择“否,则选择否”。

以下是我正在努力做到这一点

if(isset($_POST['vsat'])){ 
    echo "You chose YES"; 
}elseif(isset($_POST['vsat2'])){ 
    echo "You chose NO"; 
} 

有意义吗?我甚至不知道,如果有可能我想

+1

你有没有尝试过,看看有什么是'的var_dump($ _ POST)'或'的print_r($ _ POST)'的输出? – Pred 2014-10-02 13:02:02

+2

检查'$ _POST ['camp']' – GNi33 2014-10-02 13:03:01

+1

的值试试吧!你有什么损失呢?你会在这个过程中学到一些东西。 – 2014-10-02 13:03:03

回答

3

你应该检查$ _ POST [“阵营”]变量的值:

if ($_POST['camp']) == 'vsat') { 
    echo "You chose YES"; 
} elseif ($_POST['camp'] == 'vsat2') { 
    echo "You chose NO"; 
} 

名称的变量的为$ _POST变量传递,当你提交表单,而不是标识。

+0

啊,我认为这是名字,身份证和价值观,谢谢! – 2014-10-02 13:08:06

2

的方式,我认为你需要改变你的代码是这样的:

if ($_POST['camp'] == 'vsat') { 
    echo "You chose YES"; 
} 
elseif ($_POST['camp'] == 'vsat2') { 
    echo "You chose NO"; 
} 

Becouse您将在单选按钮组检查值会在变量$_POST['camp']('camp'是单选按钮的名称参数)中发送到您的PHP脚本。它将包含值'vsat'或'vsat2'。

+1

我会upvote,如果你想解释*为什么*他需要改变他的代码,因为他似乎不知道表单提交做什么或如何形式需要结构化和通过什么 – GNi33 2014-10-02 13:04:43

+0

@ GNi33,好的。我会做。 – mochalygin 2014-10-02 13:12:55

3

所述选中的单选按钮('vsat''vsat2')的值将被分配给$_POST['camp'],而'camp'是无线电按钮的name

if (isset($_POST['camp']) && $_POST['camp']=='vsat') { 
    echo "You chose YES"; 
} elseif (isset($_POST['camp']) && $_POST['camp']=='vsat2') { 
    echo "You chose NO"; 
} 

PS:所述isset(),以防止有一NOTICE如果没有选中两个单选按钮,则弹出。在这种情况下,$_POST['camp']将不确定。

1

这个PHP代码

<?php 
    if(isset($_POST['submit_btn'])){ 
    echo $_POST['camp']; 

    if($_POST['camp']=='vsat'){ 

    echo "You chose YES"; 

    }else{ 
    echo "You chose NO"; 

    } 

} 
?> 

这是形式

<form method="post" action=""> 
<li><label for="vsat">YES</label><input type="radio" name="camp" id="vsat" value="vsat" ></li> 
<li><label for="vsat2">NO</label><input type="radio" name="camp" id="vsat2"  value="vsat2" ></li> 
<li><input type="submit" name="submit_btn" /></li> 
</form> 
+0

它工作很好 – 2014-10-02 13:15:34