Codeigniter4 单选按钮选中后提交数据到数据库失败求助
问题原因及修复方案
1. 视图层代码错误
你将单选按钮的checked属性判断逻辑错误嵌入到了name属性的定义中,导致三个单选按钮的name属性不一致,选中值无法正常传递到后端;且原代码缺失提交按钮,表单无法正常触发提交。
修正后代码:
<?php echo form_open('home/saveCovid') ?> <!-- 无文件上传需求无需使用form_open_multipart,若有上传需求可改回 --> <?php for ($i=1; $i <=1; $i++){ ?> <input type="radio" name="anotasi1" value="Positif" <?php echo isset($anotasi->anotasi) && $anotasi->anotasi == "Positif" ? "checked" : "" ?>>Positif<br> <input type="radio" name="anotasi1" value="Negatif" <?php echo isset($anotasi->anotasi) && $anotasi->anotasi == "Negatif" ? "checked" : "" ?>>Negatif<br> <input type="radio" name="anotasi1" value="Netral" <?php echo isset($anotasi->anotasi) && $anotasi->anotasi == "Netral" ? "checked" : "" ?>>Netral<br> <?php } ?> <!-- 新增提交按钮 --> <button type="submit">提交标注</button> </td> </tr> <?php } ?> </div>
2. 控制器逻辑缺失
你仅在控制器中获取了提交的单选值,没有调用模型的插入方法将数据写入数据库,自然无法完成数据存储。
修正后代码:
public function saveCovid() { // 接收提交值,加判断避免空数据 $data['anotasi1'] = $this->input->post('anotasi1'); // 此处替换为你实际的模型类名,若已全局加载模型可省略load步骤 $this->load->model('xxx_model'); // 调用模型插入方法 $this->xxx_model->add($data); // 插入完成后跳转,可替换为你需要返回的页面地址 redirect(base_url('home/index')); }
额外注意项
- 确认你的数据库表
tbl_anotasi中存在名为anotasi1的字段,字段类型为字符串且长度足够存储选项内容 - 可新增表单验证逻辑,强制用户必须选中单选按钮后才能提交,避免空数据入库
内容的提问来源于stack exchange,提问作者Zelpe
相关产品推荐
相关产品推荐

