2016-05-04 2 views
0

フォームからデータをデータベースに保存しようとしていますが、できません。なぜか分かりません。私は、変数を印刷して、変数が投稿経由で渡されているかどうかを確認したい。 postとwhereで渡された変数をどのようにエコーするのですか?私はMVCモデルが初めてです。
だから、私の見解で、私は(フォーム内)があります。codeIgniterフレームワークでポストで渡した変数をエコーする方法MVC

私のコントローラで、その後
<td> 
    <input size="15" type="text" name="val1" id="val1" class="text" value="<?= isset($user) ? set_value('val1',$this->form_validation->val1) : set_value('val1'); ?>"/> 
<?= form_error('val1');?> 
</td> 
<td> 
    <input size="15" type="text" name="val2" id="val2" class="text" value="<?= isset($user) ? set_value('val2',$this->form_validation->val2) : set_value('val2'); ?>"/> 
<?= form_error('val2');?> 
</td> 
<td> 
    <input size="15" type="text" name="val3" id="val3" class="text" value="<?= isset($user) ? set_value('val3',$this->form_validation->val3) : set_value('val3'); ?>"/> 
<?= form_error('val3');?> 
</td> 

if($this->input->post('val3')!=''){ 
     $data = array(
     'id_val' => $id, 
     'pass' => $this->input->post('oldVal'), 
     'newPass'=> $this->input->post('newVal'), 
     'user' => $this -> session ->userdata('username') 
    ); 
    $id_m = $this->val3_model->save($data); 

} 

if($this->input->post('val1')!=''){ 
    $data = array(
     'id_val' => $id, 
     'pass' => $this->input->post('oldVal'), 
     'newPass'=> $this->input->post('newVal'), 
     'user' => $this -> session ->userdata('username') 
    ); 
    $id_m = $this->val1_model->save($data); 
} 

if($this->input->post('val2')!=''){ 
    $data = array(
     'id_val' => $id, 
     'pass' => $this->input->post('oldVal'), 
     'newPass'=> $this->input->post('newVal'), 
     'user' => $this -> session ->userdata('username') 
    ); 
    $id_m = $this->val2_model->save($data); 
} 

モデル:コントローラメソッドの先頭に

class Val1_model_model extends CI_Model{ 
    // table name 
    private $table= 'val1'; 

    function _construc(){ 
     parent::Model(); 
    } 
    * 
    * 
    * 
    function save($data){ 
     $this->db->insert($this->table, $data); 
     return $this->db->insert_id(); 
    } 
} 

答えて

2

var_dump()を使うことができます。

var_dump($this->input->post(NULL, TRUE)); 

Input :: post()メソッドは$ _POST配列にデータを返します。あなたのフォームがそのメソッドを使用し、それがそのコントローラ/メソッドに投稿されたと仮定すると、これは$ _POST配列の内容を出力するはずです。最初の引数は特定のインデックス(フィールド名)を指定することができますが、NULLを渡す場合(たとえば、$this->input->post()など)、値の配列全体が取得されます。 2番目の引数はXSSフィルタを通してすべて実行されます。これは望ましいことです。

1

@AVProgrammerは投稿全体をダンプする素晴らしい方法を提供します。

これで解決しない場合は、いくつか間違っている可能性があります。まず、フォームにアクション属性がある場合は、それが正しいことを確認します。 Here is a good article to explain more。さておき、ここでは、あなたの特定の質問に答えるために

ビュー自体(ポスト後)で変数を出力する例です。

<?php if ($this->input->post('val3')) { echo $this->input->post('val3'); } ?> 

は、この情報がお役に立てば幸いです。

関連する問題