0

私は私の見解でこのコードを持っています:

if (($faq_cat['categoryphoto'] !="")|| ($faq_cat['categoryphoto'] != NULL)) {
       $this->session->set_flashdata('tablename', 'faq_categories');
       $this->session->keep_flashdata('tablename');
       $this->session->set_flashdata('recordid', $faq_cat['catid']);
       $this->session->set_flashdata('fieldname', 'catid');
       $this->session->set_flashdata('fieldToUpdate', 'categoryphoto');
       $this->session->set_flashdata('dpage', 'faq/editFaqCategory');
       echo anchor('faqcategories/updateOneField', 'Delete Current Photo?');
}

私のコントローラーには、次のコードがあります。

    public function updateOneField() 
    {  

        $tablename = $this->session->flashdata('tablename');
        $id = $this->session->flashdata('recordid');
        $fieldname = $this->session->flashdata('fieldname');
        $fieldToUpdate = $this->session->flashdata('fieldToUpdate');
        echo "<br />table name is: " .$tablename;
        echo $id;
        echo $fieldname;
        echo $fieldToUpdate;
        die();
        $this->load->model('faqCategoriesModel');
        $this->faqCategoriesModel->save(array($fieldToUpdate => ''), $id);        
        $catid = $id;
        $this->displayEditFaqCategoryForm($catid);
    } // end of function updateOneField  

フラッシュ データを介して送信されたデータを読み取ろうとしても失敗します。すべての flashdata 変数が空になります。セッションを autoload.php ファイルにロードします。このまったく同じコードが、別の CI アプリケーションで機能します。誰かが私が間違っていることを見つけることができますか? ビューとコントローラーの両方で使用しようとしまし$this->session->keep_flashdata('item');たが、成功しませんでした。

4

1 に答える 1

0

私はあきらめて、次のようにuserdataに変数を設定します。

$newdata = array(
    'tablename'  => 'faq_categories',
    'recordid'     => $faq_cat['catid'],
    'fieldname' => 'catid',
    'fieldToUpdate' => 'categoryphoto',
    'dpage' => 'faqcategories/editFaqCategory'
    );

乾杯

于 2012-09-23T14:00:03.163 に答える