如何使用PHP POST方法统计HTML表单Radio Button各值选中次数
PHP实现POST表单单选按钮选项选中次数统计
你的表单所有单选按钮均以q数组格式提交,单题答案固定为one/two/three/four/five五个值,直接遍历POST提交的答案数组累加计数即可实现需求,不需要提前固定题目总数,后续新增同结构题目不需要修改统计逻辑。
前置注意事项
- 你原先定义的计数变量初始值为空字符串是错误写法,计数变量初始值必须设为整数
0,否则累加计算时会出现类型异常 - 原HTML表单的
<form>标签重复写了两次class属性,第二个class定义会失效,建议合并为class="form-inline text-center"保证样式正常加载
check_result.php 实现代码
<?php // 初始化各选项计数变量 $total_One_Count = 0; $total_two_Count = 0; $total_three_Count = 0; $total_Four_Count = 0; $total_Five_Count = 0; // 校验请求类型与提交参数合法性,避免未定义索引报错 if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['q']) && is_array($_POST['q'])) { // 遍历所有题目提交的答案 foreach ($_POST['q'] as $selected_val) { $selected_val = trim($selected_val); // 匹配对应选项累加计数(PHP8.0+支持match语法) match($selected_val) { 'one' => $total_One_Count++, 'two' => $total_two_Count++, 'three' => $total_three_Count++, 'four' => $total_Four_Count++, 'five' => $total_Five_Count++, default => null // 忽略非法传入值 }; } } // 统计完成后,你可以直接调用上述5个变量编写后续业务逻辑 // 示例调试输出: // echo "one选项选中次数:".$total_One_Count."<br>"; // echo "two选项选中次数:".$total_two_Count."<br>"; ?>
如果你使用的PHP版本低于8.0不支持
match语法,把match部分替换为下面的switch写法即可:switch ($selected_val) { case 'one': $total_One_Count++; break; case 'two': $total_two_Count++; break; case 'three': $total_three_Count++; break; case 'four': $total_Four_Count++; break; case 'five': $total_Five_Count++; break; }
内容的提问来源于stack exchange,提问作者Santhosh Kumar
相关产品推荐
相关产品推荐

