php - 使用 PHP 从 HTML 表单中获取“n”个单选选项的有效方法
问题描述
我目前正在开发一个测验程序,该表格有大约 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>
结果.php
<?PHP
$answer1 = $_POST['Q1'];
$answer2 = $_POST['Q2'];
.
.
?>
这看起来一点也不整洁,有没有任何有效的方法来获取前端为所有这些问题选择的选项,而不是编写 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">
然后你可以用循环迭代这些foreach
值
foreach($_POST['radio'] as $question => $answer) {
// $question will be "Q1", "Q2", etc
// $answer will be the chosen radio button value
}
将所有单选按钮放在一个名称下(即"radio"
),您可以将这些键和值与您可能想要包含的其他表单字段区分开来。
另外,你<form>
应该有method="post"
,但我想你可能已经有了。
推荐阅读
- python - Popen 在本地工作但不是远程问题
- java - 如何从 mat 对象中获取整数数组,反之亦然
- image-processing - 为什么视差的准确性会随着距离的增加呈指数下降?
- php - PHP SQL 请求:仅选择 name = $name 和 stage = $stage 的最低时间值
- java - 在 Chrome 浏览器上运行测试 Testng
- swift - NEVPNManager saveToPreferences/loadFromPreferences 回调从未被调用
- asp.net - Razor @Html.ActionLink 没有正确传递控制值
- c# - 放置算术符号时枚举 C# 中的错误
- python - 熊猫数据框“应用”到“dtype”会产生意外结果
- django - django update_or_create 得到“重复键值违反唯一约束”