Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html form name=php变量_Php_Html_Forms - Fatal编程技术网

html form name=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

我有一个表单(基本上是一个测试),用户必须填写。我从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['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;
}