2012-03-06 4 views
0

Я новичок в работе с фреймворком codeigniter, и я пытаюсь создать регистрационную форму участника, используя эту структуру. Я использовал следующий код для вставки члена.codeigniter page redirection issue

<?php 
    Class data extends CI_Model 
    { 

    function add_form() 
    { 
     $this->load->database(); 

     $val = array(
     'name' => $this->input->post('name'), 
     'gender' => $this->input->post('gender'), 
     'age' => $this->input->post('age'), 
     'address' => $this->input->post('address'), 
     'phoneno' => $this->input->post('phone'), 
     ); 
     $insert=$this->db->insert('tbl_member',$val); 

    } 
    } 
?> 

Если информация о членстве вставляется в базу данных успешно, я должен перенаправить ее на страницу сведений о членстве с сообщением об успешном завершении. На этой странице я должен отображать детали участника, полученные из базы данных. Я не знаю, как перенаправить и проверить, истинна ли вставка. Как я могу это сделать?

+0

Это действительно плохая форма, вызывающая '$ this-> input-> post ('#')' внутри вашей модели. Пожалуйста, подтвердите в ** КОНТРОЛЛЕР **, затем передайте дезинфицированные значения в вашу модель. Хорошим методом является чистый 'array()' значений для вставки. – Jakub

ответ

2

Вы можете проверить, если вставка была успешной с:

$this->db->affected_rows() 

вернуть количество записей вставлено. Вы можете перенаправить пользователя на соответствующую страницу, используя функцию перенаправления URL-адрес Helper в:

redirect('path/to/redirect/to'); 
1

Я надеюсь, что это будет работать для вас

<?php 
    Class data extends CI_Model 
    { 

    function add_form() 
    { 
     $this->load->database(); 

     $val = array(
     'name' => $this->input->post('name'), 
     'gender' => $this->input->post('gender'), 
     'age' => $this->input->post('age'), 
     'address' => $this->input->post('address'), 
     'phoneno' => $this->input->post('phone'), 
     ); 
     if($this->db->insert('tbl_member',$val)) { 
      $insert= $this->db->insert_id(); 
      return $this->insert_success($insert); 
     } else { 
      return false; 
     } 

    } 
    } 
?> 

И ваш метод insert_success будет:

function insert_success($userId) 
    { 
    $data = $this->db->query('query-to-fetch-details-with-user-id'); 
    return $data->result_array(); 
    }