2014-09-01 68 views
3

test.php的PHP - 单选按钮,无需提交按钮

<form action="test2.php" method="post"> 
Q1: <br /> 
<input type="radio" name="q1" value="true" />T<br />(Correct Answer) 
<input type="radio" name="q1" value="false" />F<br /> 

Q2: <br /> 
<input type="radio" name="q2" value="true" />T<br /> 
<input type="radio" name="q2" value="false" />F<br />(Correct Answer) 

<input type="submit" value="Score" /> 
</form> 

test2.php

<?php 
    //process code from test.php 
?> 

我想从每题的单选按钮的值,并检查是否是真还是假。我尝试这test2.php:
(1)if($_POST['name']) - >收到错误(未定义指数:名)
(2)if($_POST['submit']) - >收到错误(未定义指数:提交)
(3)if(isset($_POST['name']) - >没有错误,但什么都没发生

我该如何解决?

回答

0

您已将单选按钮命名为q1q2,但试图以名称name访问它。取而代之的if($_POST['name'])你也必须检查是否提交表单或没有,你可以试试这个代码不喜欢

if($_POST['q1']) 

if($_POST['q2']) 

if(isset($_POST)) 

在情况下,如果你正在使用if($_POST['submit'])检查表单是否提交与否,submit将提交按钮的名称。所以你必须设置name属性来提交按钮。

<input name="submit" type="submit" value="Score" /> 
+0

谢谢Jenz。我终于明白了。使用单选按钮的值,而不是单选按钮的名称。 – user3905044 2014-09-01 09:22:06

+0

没有价值。在提交表单时使用输入元素的名称。 – Jenz 2014-09-01 09:22:56

0

你试过吗?

$_POST['q1']; 
$_POST['q2']; 
+0

提交时没有名字! – user2068793 2014-09-01 09:26:33

+0

dem downvotez对这篇文章的几乎所有答案,哈哈。 – 2014-09-01 09:27:53

+0

@Alex质量低的问题的答案可以得到更多的赞赏,更多的如果你甚至不想解释任何东西 – Sugar 2014-09-01 09:46:14

2

您需要设置

<input name="submit" type="submit" value="Score" /> 

,并得到这样的价值:

$_POST['q1']; 
$_POST['q2']; 

属性是什么,你在POST/GET发送到PHP脚本。

if(isset($_POST['submit']))//don't forget to check using isset() 
    { 
    /*other variables*/ 
    $radio_value1 = $_POST['q1']; 
    $radio_value2 = $_POST['q2']; 
    } 
+0

谢谢,一个人的船员。 – user3905044 2014-09-01 09:26:05

0

如果($ _ POST [ '名'])

if($_POST['q1']) { 

} 

if($_POST['q2']) { 

} 

如果(isset($ _ POST [ '名'])

if(isset($_POST['q1']) 
if(isset($_POST['q2']) 

And,

<input type="submit" value="Score" /> to <input type="submit" name="submit" value="Score" />