正在为学校创建测验。 一切正常 我有一个问题要问:
D。克里斯蒂安诺·罗纳尔多
哪个足球俱乐部赢得了3个欧洲冠军联赛冠军 连续几次?
我的问题是,当用户做出选择时,我想使用post在下一页(称为proccess.php)中获得用户的选择。
像
但是我得到了:
这是显示问题的代码(工作正常)
<form action="process.php" method="post">
<?php
foreach($questions as $id => $question) {
echo "<div class=\"form-group\">";
echo "<ol><li><h5 style='font-weight:bolder'> $question</h5>"."</li><ol>";//display the question
//Display multiple choices
$randomChoices = $choices[$id];
$randomChoices = shuffle_assoc($randomChoices);
foreach ($randomChoices as $key => $values){
echo '<li style="list-style-type: upper-alpha; font-weight:bolder;"><input required="" type="radio" name="response['.$id.']" id="'.$id.'" value="' .$values.'"/>';
?>
<label for="question-<?php echo($id); ?>"><?php echo($values);?></label></li>
<?php
}
echo("</ul>");
echo("</div>");
}
?>
<input type="submit" name="submit" class="btn btn-primary" value="Submit Quiz" />
</form>
这是process.php代码。 它显示给定问题下所有问题的所有用户选择。
<?php
foreach($questions as $id => $question) {
echo "<div class=\"form-group\">";
echo "<h5 style='font-weight:bolder'> $question</h5>"."<ol>";//display the question
echo '<li style="list-style-type: upper-alpha; font-weight:bolder;">';
//display user choice
?>
<label for="question-<?php echo($id); ?>"><?php foreach($_POST['response'] as $key => $value){
echo $value;}
}
?></label></li>
<?php
echo("</ul>");
echo("</div>");
}
?>
我的问题是我如何获得process.php每个问题显示一个用户选择。谢谢。
答案 0 :(得分:2)
设置表单时,您已经...
<input required="" type="radio" name="response['.$id.']" id="'.$id.'" value="' .$values.'"/>
因此,每个输入都有$id
,这是问题ID,作为响应的索引(response['.$id.']
)。但是在您的process.php文件中,您每次都会遍历所有响应...
foreach($_POST['response'] as $key => $value){
echo $value;}
如果您只想回答特定问题,则需要选择当前正在显示答案的特定问题的答案...
echo $_POST['response'][$id]
答案 1 :(得分:0)
容易,您的方法是正确的,只是没有正确地回显值,添加“ br”标记将下一个元素移到下一行,请尝试
echo $value . "<br>";