codeigniter:将变量传递给加载表单的控制器

时间:2012-12-11 23:46:09

标签: php codeigniter

我有一个链接,当点击时将一个参数传递给我的控制器,就像这样的函数:

/家庭/询问/ 54

  • 我想加载一个包含表单的视图并收集一些输入数据。
  • 然后,我想将论据和表单数据通过电子邮件发送给自己

这是我的控制者:

public function inquire($id) {

    $this->form_validation->set_rules('inputName', 'Name', 'required');

    if ($this->form_validation->run() == FALSE) {
        $this->load->view('client/M_inquire.php');
    } else {

        $this->email->from('noreply@test.com', 'System');
        $this->email->to('contactus@test.com');
        $this->email->subject('New Client Registration');

        $this->email->message(
                "Name: " . $this->input->post('inputName') . "<br />" .
                "Phone: " . $this->input->post('inputPhone') . "<br />" .
                "Email: " . $this->input->post('inputEmail') . "<br />" .
                "Nurse profession: " . $this->input->post('inputProfession') . "<br />" .
                "Nurse ID: " . $nurseid
        );
        $this->email->send();
        $this->load->view('client/M_inquire_success.php');
    }
}

这是我的观点:

    <?php echo form_open('home/inquire'); ?>
    <label>Full Name</label>
    <input type="text" name= "inputName" id="inputName">

问题是控制器需要一个参数,所以当表单打开时它会崩溃。知道如何维护我通过的第一个参数并收集一些表单数据和电子邮件吗?

感谢很多。

1 个答案:

答案 0 :(得分:1)

在视图中致电form_open时,您可以附加id

因此,在您的控制器中,您可以使用以下内容:

...
if ($this->form_validation->run() == FALSE) {
    $data['the_id'] = $id;
    $this->load->view('client/M_inquire.php', $data);
} else {
...

然后在视图中:

<?php echo form_open('home/inquire/' . $the_id); ?>