codeigniter传递一个id

时间:2013-12-19 16:30:38

标签: php codeigniter frameworks

我正在使用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;
}

所以我想要一些帮助。

1 个答案:

答案 0 :(得分:0)

您实际上从未将产品传递给您的观点。我不确定你的错误报告是什么,我也不能看到你的表格的其余部分,所以我不知道为什么你没有看到抱怨$ product产品首先不存在的东西。无论如何,您的控制器至少需要执行以下操作:

$data['product'] = $product;

我也注意到了这一点:

$this->db->insert('messages',$insert);

我听到一些人对此有不同意见,但你真的不应该直接从你的控制器访问你的数据库。