如何将变量传递给id变量

时间:2012-08-25 17:37:15

标签: php codeigniter

好的,我的Codeigniter控制器中有这个:

public function post($id) {
$data['query'] = $this->blog_model->get_post($id);
$data['comments'] = $this->blog_model->get_post_comment($id);
$data['post_id']=$id;
$data['total_comments'] = $this->blog_model->total_comments($id);
$this->load->helper('form');
$this->load->library(array('form_validation','session'));
//validation rules for post function

$this->form_validation->set_rules('commenter','Name','required');
$this->form_validation->set_rules('email','Your email','required'|'valid_email');
$this->form_validation->set_rules('comment','Comment','required');

if($this->blog_model->get_post($id))
{
foreach($this->blog_model->get_post($id) as $row)
{
//set page title
$data['title'] = $row->entry_name;
}
if($this->form_validation->run() == FALSE)
{
//if validation runs FALSE
$this->load->view('blog/post',$data);
}
else
{
//if valid
        $name = $this->input->post('comment_name');
        $email = strtolower($this->input->post('comment_email'));
        $comment = $this->input->post('comment_body');
        $post_id = $this->input->post('entry_id');

        $this->blog_model->add_new_comment($post_id,$name,$email,$comment);
        $this->session->set_flashdata('message', '1 new comment added!');
        redirect('post/'.$id);
 }
 }
 else
 show_404();
 }

在我的帖子视图中,我有这个:

echo form_open('blog/post'.$id);

我想将我在网址中输入的$id变量传递到评论表单的帖子视图。如何将$id变量传递给视图?

2 个答案:

答案 0 :(得分:3)

您正在数据数组中传递 id ,此处:

$data['post_id']=$id;

在您的视图中,而不是$id,只需使用$post_id

echo form_open('blog/post'.$post_id);

答案 1 :(得分:1)

$this->load->view('your post view',array('id'=>$the_id_here))

然后在您的视图中,使用$ id变量。