我正在使用codeigniter,我正在尝试传递ID,但没有成功。
这是控制器:
function resend_messages() {
if($this->input->post('send')) {
if(!$this->input->post('text')) {
$data['output'] = 'Please Write a message';
}
else {
$this->load->model('site_model');
$product = $this->site_model->resend($this->input->post('id'));
$insert = array(
'sender' => $this->session->userdata('username'),
'receiver' => $product->sender,
'content' => $this->input->post('text')
);
$this->db->insert('messages',$insert);
$data['output'] = 'The message send successfully';
//redirect('site/my_message');
}
$this->load->view('resend_message',$data);
}
}
以下是观点:
foreach($product as $row) {
print "<li><b>From:</b>{$row['receiver']}</li>
<li><b>To:</b>{$row['sender']}</li>
<li><b>Content:</b>{$row['content']}</li>
<li><b>Date:</b>{$row['date']}</li>";
print form_open('site/resend_messages');
print $row['id'];
print form_hidden('id', $row['id']);
print form_submit('send', 'Resend message');
print form_close();
print "<hr />";
}
以下是模型:
function resend($id) {
$results = $this->db->get_where('users', array('id' => $id))->result();
return $results;
}
所以我想要一些帮助。
答案 0 :(得分:0)
您实际上从未将产品传递给您的观点。我不确定你的错误报告是什么,我也不能看到你的表格的其余部分,所以我不知道为什么你没有看到抱怨$ product产品首先不存在的东西。无论如何,您的控制器至少需要执行以下操作:
$data['product'] = $product;
我也注意到了这一点:
$this->db->insert('messages',$insert);
我听到一些人对此有不同意见,但你真的不应该直接从你的控制器访问你的数据库。