2012-03-06 27 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

答えて

2

挿入はして成功したかどうかを確認することができます:挿入されたレコードの数を返すために

$this->db->affected_rows() 

。その後、URLヘルパーのリダイレクト機能を使用して、適切なページにユーザーをリダイレクトすることができます

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(); 
    } 
関連する問題