2017-05-17 5 views
3

私は自分のWebサイトに動的タイトルを入れようとしています。Codeigniterコントローラの動的グローバル変数

class Survey extends MY_Controller { 

    public $my_title; 

    public function __construct(){ 
    parent::__construct(); 
    $this->load->model('Survey_model'); 
    $this->my_title = ""; //setting to blank 
    } 

    public function survey_form(){ 
    $this->data['title'] = $this->my_title; //display the title 
    $this->middle  = 'Survey_view'; 
    $this->layout(); 
    } 

    public function validate_stub($survey_code){ 
    $data   = $this->Survey_model->get_questions($survey_code); 
    $this->my_title = $this->Survey_model->get_quest_title($survey_code); //getting from database title 

    $this->session->set_userdata('stub_data', $data); 
    redirect('Survey/survey_form'); 
    } 
} 

トリガするのに最初は、私はその後、survey_form関数に渡しグローバル変数$ my_titleにget_quest_titleのリターンを渡したいvalidate_stub機能です。この場合、$ this-> my_titleは空白です。どのようにしてdbからタイトルを渡し、グローバル変数に入れてビューに渡すことができますか?ありがとう

答えて

3

redirectをなぜvalidate_stub()に使用するのかわかりません。あなたはsurvey_form関数をここに直接呼び出すことができますコード:

class Survey extends MY_Controller { 

    public $my_title; 

    public function __construct(){ 
    parent::__construct(); 
    $this->load->model('Survey_model'); 
    $this->my_title = ""; //setting to blank 
    } 

    public function survey_form(){ 
    $grab_title = $this->session->userdata('my_title'); 
    if(isset($grab_title) && $grab_title != "") { 
     $this->data['title'] = $grab_title; 
    }else { 
     //do some checks here and add something default 
     $this->data['title'] = $this->my_title;    
    } 
    $this->middle  = 'Survey_view'; 
    $this->layout(); 
    } 

    public function validate_stub($survey_code){ 
    $data   = $this->Survey_model->get_questions($survey_code); 
    $this->my_title = $this->Survey_model->get_quest_title($survey_code); //getting from database title 

    $this->session->set_userdata('stub_data', $data); 
    $this->session->set_userdata('my_title', $this->my_title); 
    redirect('Survey/survey_form'); 
    } 
} 
+0

ありがとう!私が$ this-> survey_form()を置くと、/ validate_stubというリンクが/ survey_formになります。 – p3ac3

+0

それでは、validate_stub()の使い方は何ですか? validate_stub()からsurvey_form()にコードをコピー/ペーストし、代わりにその関数を使用することができます。または、form_validationを使用することを検討する必要がありますhttps://www.codeigniter.com/userguide3/libraries/form_validation.html – GeorgeGeorgitsis

+0

私は長いバリデーションロジックを持っていますので、バリデーションを分離しました – p3ac3

関連する問題