我有一个表单,允许用户添加随后插入数据库的自定义问题。出于某种原因,当单击提交按钮时,我收到错误:
A PHP Error was encountered Severity: Notice
Message: Array to string conversion
当用户点击+按钮时,它会添加另一个具有相同名称问题[]
的字段这允许用户只需添加任意数量的问题。数据是这样提交的 - (当我检查萤火虫中的参数时)
问题[] [...] 0你最喜欢的甜点是什么? 1你喜欢狗吗? 我的HTML 表单输入
<div class="row">
<div class="col-10">
<div class="form-group">
<input type="text" class="form-control" id="question" name="question[]" value="" placeholder="Custom Question">
</div> </div>
<div class ="col-2">
<button class="btn btn-success" type="button"
onclick="education_fields();"><i class="fa fa-plus"></i></button>
服务器代码插入数据
$insert1 = [];
$fields = $this->input->post();
foreach ($fields as $k => $v) {
$insert1['label'] = $this->input->post($k, true);
$this->db->insert("applicationquestions", $insert1);
}
任何想法我做错了什么,以及实现我需要的最好方法?
答案 0 :(得分:0)
如果您在html表单上使用与[]
相同的名称,则您的$_POST
在该密钥上有一个数组。所以你的$k
变量是一个数组。
尝试
foreach ($fields['question'] as $k => $v) {
$insert1['label'] = $this->input->post($k, true);
$this->db->insert("applicationquestions", $insert1);
}