html form name=php变量
我有一个表单(基本上是一个测试),用户必须填写。我从MySQL表中得到的问题编号,但我无法将问题编号带入answer.php文件 表格html form name=php变量,php,html,forms,Php,Html,Forms,我有一个表单(基本上是一个测试),用户必须填写。我从MySQL表中得到的问题编号,但我无法将问题编号带入answer.php文件 表格 $sql1="SELECT * FROM ex_question WHERE test_name = '$tid' ORDER BY RAND() LIMIT 5"; $result1=mysql_query($sql1); while($row1 = mysql_fetch_array($result1)) { $test_name=$row1['te
$sql1="SELECT * FROM ex_question WHERE test_name = '$tid' ORDER BY RAND() LIMIT 5";
$result1=mysql_query($sql1);
while($row1 = mysql_fetch_array($result1))
{
$test_name=$row1['test_name'];
$q_nr=$row1['q_nr'];
$q_type=$row1['q_type'];
$question=$row1['question'];
$option1=$row1['option1'];
$option2=$row1['option2'];
echo "<form method='post' action='answer.php'>";
echo "<P><strong>$q_nr $question</strong><BR>";
echo "<input type='radio' name='$q_nr' value='option1'>$option1<BR>";
echo "<input type='radio' name='$q_nr' value='option2'>$option2<BR>";
echo "<BR>";
echo "<BR>";
echo "</p>";
}
echo "<input type='submit' value='Send Form'>";
echo "</form>";
?>
$sql1=“选择*从ex_问题,其中测试名称=“$tid”按兰德顺序()限制5”;
$result1=mysql\u查询($sql1);
而($row1=mysql\u fetch\u数组($result1))
{
$test_name=$row1['test_name'];
$q_nr=$row1['q_nr'];
$q_type=$row1['q_type'];
$QUOTE=$row1['QUOTE'];
$option1=$row1['option1'];
$option2=$row1['option2'];
回声“;
回音“$q_nr$question
”;
回显“$option1
”;
回显“$option2
”;
回声“
”;
回声“
”;
回声“
”;
}
回声“;
回声“;
?>
answer.php
<?php
$q_nr = $_GET['q_nr'] ;
echo $q_nr;
?>
首先,您的表单提交方法是POST,您正在GET中检索
其次,这是行不通的,伙计,你在循环中创建了许多表单,这是一个逻辑上的实际问题,把你的表单放到循环之外,让elelent成为一个数组,像q_nr[]----如果FORM METHOD等于POST,你就可以在$\u POST超全局变量中得到参数:
$q_nr = $_POST['q_nr'] ;
我假设您希望获取所有问题并将其显示在一个页面上,然后将所有答案提交到answer.php?在这种情况下,您可以:
$sql1="SELECT * FROM ex_question WHERE test_name = '$tid' ORDER BY RAND() LIMIT 5";
$result1=mysql_query($sql1);
echo "<form method='post' action='answer.php'>";
while($row1 = mysql_fetch_array($result1))
{
$test_name=$row1['test_name'];
$q_nr=$row1['q_nr'];
$q_type=$row1['q_type'];
$question=$row1['question'];
$option1=$row1['option1'];
$option2=$row1['option2'];
echo "<P><strong>$q_nr $question</strong><BR>";
echo "<input type='radio' name='question[$q_nr]' value='$option1'>$option1<BR>";
echo "<input type='radio' name='question[$q_nr]' value='$option2'>$option2<BR>";
echo "<BR>";
echo "<BR>";
echo "</p>";
}
echo "<input type='submit' value='Send Form'>";
echo "</form>";
谢谢,我将表单从循环中取出,但现在它只显示表中的一个问题?我该怎么做呢?嗨,我把我的answer.php(操作页面)改成了“$q_nr=$\u POST['q_nr'];”但是它仍然没有显示q_nr,我应该在表单中使用'echo'$option1
“'吗?谢谢!它正在工作,只是没有发送他们选择的答案选项。php,但我会设法弄清楚。它发送了什么吗?您可以尝试使用var\u dump($\u POST);在answer.php中查看您的表单发送了什么。您好,是的,它发送的是问题编号,但不是选择的答案,我将尝试上面的方法。谢谢。嗨,我做了var_dum($\u POST);似乎它正在发送答案,我的输出是:3740array(1){[“question”]=>array(2){[37]=>string(7)“A)True”[40]=>string(7)“A)True”}哦,是的,如果复制了my answer.php,那么它只输出问题编号。答案存储在foreach循环中的$Answer变量中。
//Key is $q_nr and $answer is selected $option
foreach($_POST['question'] as $key => $answer) {
echo $key;
}