好的,我的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
变量传递给视图?
答案 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变量。