这是我的观点:
<?php foreach ($list_peserta as $show): ?>
<label>
<input type="checkbox" name="undangan[]" value="<?php echo $show->email ?>" />
<?php echo $show->nama ?></label>
<?php endforeach; ?>
</div>
</div>
<div class="form-actions">
<input type="submit" value="Kirim" class="btn btn-info">
</div>
<?php echo form_close(); ?>
我的控制器:
$data = array();
$count = count($this->input->get_post['undangan']);
for ($i = 0; $i <= $count ; $i++) {
$data[] = array(
'id_acara' => $this->input->post['id'][$i],
'email_peserta' => $this->input->post['undangan'][$i],
'status' => ['Diundang'][$i]
);
$this->db->insert_batch('kehadiran', $data);
我收到此错误: enter image description here
请帮助!
答案 0 :(得分:0)
我认为您在此行中有错别字。不要使用方括号,否则它看起来像是数组引用。
$count = count($this->input->get_post['undangan']);
我认为应该是括号...
$count = count($this->input->get_post('undangan'));
答案 1 :(得分:0)
因此您得到一个错误,该错误实质上表明$this->input->get_post['undangan']
不是数组。不过,您的首要任务应该是检查一下var_dump
为您带来了什么价值。
然后您可能会注意到您的get post语法不正确:
https://www.codeigniter.com/user_guide/libraries/input.html#CI_Input::get_post
$this->input->get_post(‘some_data’, TRUE);
遵循该方案之后,您就不会再遇到问题了。如果仍然存在,则需要验证是否正在发送变量。当我不知道变量是get
还是post
时,我不知道这种情况,因此我将使其成为其中之一而不是使用get_post
。 / p>
通常,验证输入内容也是个好主意。
$var = $this->input->post('somevar');
if (is_null($var)) {
show_error('missing params');
} else {
// your logic
}