2013-02-28 4 views
0

У меня есть простой вопрос, у меня есть форма, в которой пользователь вводит свои данные, и когда нажата кнопка отправки, а его данные передаются в базу данных, это приведет пользователя к другой странице, я использую codeigniter, и я новым для этого является простой способ сделать это? tnx за помощь. вот мой 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 –

0

Вы можете использовать функцию переадресации() от URL Helper на самом деле перенаправить пользователя
(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'); 
Смежные вопросы