在codeigniter中连接页面

时间:2013-02-28 09:43:15

标签: php codeigniter

我有一个简单的问题我有一个表单,用户输入他的详细信息,当点击提交按钮时,他的详细信息提交到数据库,它将把用户带到另一个页面,我使用codeigniter,我是新来的这是有一个简单的方法吗? tnx为你提供帮助。这是我的cmv:

控制器

    <?php

class Info extends CI_Controller{

    function index(){

        $this->load->view('info_view');
    }
    // insert data
    function credentials()
    {   
     $data = array(
         'name' => $this->input->post('name'),
         'second_name' => $this->input->post('second_name'),
         'phone' => $this->input->post('phone'),
         'email' => $this->input->post('email'),  
         );


          $this->info_model->add_record($data);


    }



 }

?>

模型

<?php

class Info_model extends CI_Model {

    function get_records()
          {
          $query = $this->db->get('credentials');

          return $query->result();   
          }


    function add_record($data)
          {
          $this->db->insert('credentials', $data);
          return;
       }


}

?>

查看

<html>
    <head>
    </head> 
 <body>
   <?php echo form_open('info/credentials'); ?>
     <ul id="info">  
       <li>Name:<?php echo form_input('name')?></li>
       <li>Second Name: <?php echo form_input('second_name');?></li>
       <li>Phone: <?php echo form_input('phone');?></li>
       <li>Email: <?php echo form_input('email');?></li>
       <li><?php echo form_submit('submit', 'Start survay!!' );?></li>
     </ul>  

 <?php echo form_close();?>
  </body>
</html>

3 个答案:

答案 0 :(得分:2)

如果你需要的只是提交表格时的简单重定向:

$this->info_model->add_record($data);
redirect('controller/method');

答案 1 :(得分:0)

您可以使用URL Helper中的redirect()函数实际重定向用户
http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html

像这样:

$this->load->helper('url');
redirect('/some/other/page');

请注意,必须在将任何数据输出到浏览器之前调用它。

另一种方法是根据上下文简单地加载两个不同的视图。通常您也需要一些表单验证,因此您可以使用它来指导用户。我通常在我的函数中得到类似的东西,用于发布数据,将其插入数据库并“重定向”:

$this->load->library('form_validation');
$this->form_validation->set_rules('name', 'Name', 'required|trim|xss_clean');
/* More validation */

if ($this->form_validation->run() !== FALSE) {
    $data = array(
     'name' => $this->input->post('name'),
     'second_name' => $this->input->post('second_name'),
     'phone' => $this->input->post('phone'),
     'email' => $this->input->post('email'),  
     );
    $this->info_model->add_record($data);

    $this->load->view('some_other_view');
} else {
    $this->load->view('info_view');
}

答案 2 :(得分:0)

您还可以使用refresh作为第二个参数:

$this->info_model->add_record($data);
redirect('controllerName/methodName','refresh');