Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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
获取';n';使用PHP的HTML表单中的单选选项数_Php_Html_Forms - Fatal编程技术网

获取';n';使用PHP的HTML表单中的单选选项数

获取';n';使用PHP的HTML表单中的单选选项数,php,html,forms,Php,Html,Forms,我目前正在做一个测验项目,表格里有大约20个问题。 使用PHP,我知道如何在操作页面中获取结果 <html> <body> <form action = "result.php"> Question 1: <input type='radio' name='Q1' value='Op1' /> Op1 <input type='radio' name='Q1' value='Op2' /> Op2 <input type='rad

我目前正在做一个测验项目,表格里有大约20个问题。 使用PHP,我知道如何在操作页面中获取结果

<html>
<body>
<form action = "result.php">
Question 1:
<input type='radio' name='Q1' value='Op1' /> Op1
<input type='radio' name='Q1' value='Op2' /> Op2
<input type='radio' name='Q1' value='Op3' /> Op3
<input type='radio' name='Q1' value='Op4' /> Op4

Question 2:
<input type='radio' name='Q2' value='Op1' /> Op1
<input type='radio' name='Q2' value='Op2' /> Op2
<input type='radio' name='Q2' value='Op3' /> Op3
<input type='radio' name='Q2' value='Op4' /> Op4
.
.
.
.
</form>
</body>
</html>

问题1:
Op1
凤凰社2
凤凰社3
Op4
问题2:
Op1
凤凰社2
凤凰社3
Op4
.
.
.
.
result.php


这看起来一点也不整洁,有没有什么有效的方法来获取前端为所有这些问题选择的选项,而不是写20条语句


TIA允许您迭代特定单选按钮答案的一个选项是将它们存储在它们自己的数组中

比如说

<input type="radio" name="radio[Q1]" value="Op1">
<input type="radio" name="radio[Q1]" value="Op2">

<input type="radio" name="radio[Q2]" value="Op1">
<input type="radio" name="radio[Q2]" value="Op2">
将所有单选按钮放在一个名称下(即
“radio”
)允许您将这些键和值与可能要包含的其他表单字段区分开来



另外,您的
应该有
method=“post”
,但我想您可能已经有了。

允许您迭代特定单选按钮答案的一个选项是将它们存储在自己的数组中

比如说

<input type="radio" name="radio[Q1]" value="Op1">
<input type="radio" name="radio[Q1]" value="Op2">

<input type="radio" name="radio[Q2]" value="Op1">
<input type="radio" name="radio[Q2]" value="Op2">
将所有单选按钮放在一个名称下(即
“radio”
)允许您将这些键和值与可能要包含的其他表单字段区分开来



另外,你的
应该有
method=“post”
,但我想你可能已经有了。

如果它们是单独的表单问题,那么按照你的方式来做是非常有意义的。我还在学习php,所以我想:
对于($I=0;$I<20;$I++){$postarray='q'($I+1);$answer I[$I]=$post[$postarray];}
首先,它应该是
$\u POST['Q1']
$\u POST['Q2']
。然后,如果这些是单独的问题,如果答案的信息正好在这里引用,那么将结果作为
$\u POST''Qx']
会有什么问题。这取决于你将如何使用这些结果。@Derek,这二十个问题来自一个表单你需要首先显示数据的来源(意思是提交的表单),一切都取决于它,我们可以从for循环、foreach循环、,数组和一切,但我们只能猜测我们的建议将如何适合您所拥有的数据。如果它们是单独的表单问题,那么按照您所拥有的方式来做是非常有意义的。我仍然在学习php,所以我想:
for($I=0;$I<20;$I++){$postarray='q'。($I+1);$answer[$I]=$\u POST[$postarray];}
首先,它应该是
$\u POST['Q1']
$\u POST['Q2']
。然后,如果这些是单独的问题,如果答案的信息正好在这里引用,那么将结果作为
$\u POST''Qx']
会有什么问题。这取决于你将如何使用这些结果。@Derek,这二十个问题来自一个表单你需要首先显示数据的来源(意思是提交的表单),一切都取决于它,我们可以从for循环、foreach循环、,数组和一切,但我们只能猜测我们的建议将如何适合您拥有的数据
foreach($_POST['radio'] as $question => $answer) {
    // $question will be "Q1", "Q2", etc
    // $answer will be the chosen radio button value
}