这是我的观点:
<?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);
我收到此错误: 在此处输入图像描述
请帮忙!
我认为你在这一行中有错别字。不要使用括号,否则它看起来像数组引用。
$count = count($this->input->get_post['undangan']);
我认为应该是括号...
$count = count($this->input->get_post('undangan'));
所以你得到一个错误,基本上说$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
。
此外,一般来说,验证您的输入是个好主意。
$var = $this->input->post('somevar');
if (is_null($var)) {
show_error('missing params');
} else {
// your logic
}