2012-03-06 147 views
0

我是codeigniter框架工作的新手,我試圖設計一個使用該框架的成員註冊表單。我已經使用下面的代碼來插入成員。codeigniter頁面重定向問題

<?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('#')'。請在** CONTROLLER **中進行驗證,然後將清理過的值傳遞給您的模型。一個好的方法是插入一個乾淨的'array()'值。 – Jakub 2012-03-06 14:00:49

回答

2

您可以檢查是否插入是成功的:

$this->db->affected_rows() 

返回插入的記錄數。

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(); 
    }