2013-02-28 97 views
0

我有一个简单的问题,我有一个表单,用户输入他的详细信息,当提交按钮被点击时,他的详细信息提交给数据库,它将采取用户到另一个页面我使用codeigniter,我是新的这是否有一个简单的方法来做到这一点? TNN为你提供帮助。这里是我的CMV:在codeigniter中连接页面

控制器

<?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> 

回答

2

如果你需要的是在提交表单的一个简单的重定向:

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

是的,它正是我正在寻找tnx mudshark – 2013-02-28 10:16:10

0

你可以使用网址助手重定向()函数来实际用户重定向
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'); 
} 
0

您也可以使用刷新作为第二个参数:

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