Php Codeigniter控制器中的动态全局变量
我正在尝试在我的网站上放置一个动态标题,所以它就在这里Php Codeigniter控制器中的动态全局变量,php,codeigniter,Php,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 }
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');
}
}
首先触发的是validate_stub函数,然后我想将get_quest_title的返回传递给全局变量$my_title,然后将其传递给survey_form函数。在本例中,$this->my_title为空,如何从db传递标题,然后将其放入全局变量,然后传递到视图。谢谢我不明白您为什么在
验证存根()中使用重定向
。您可以直接调用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');
}
}
谢谢顺便说一句,因为如果我把$this->survey_form()放在表单中,链接将是/validate_stub,我希望它是/survey_form那么validate_stub()有什么用呢?您可以将代码从validate_stub()复制/粘贴到survey_form()并使用该函数。或者您应该考虑使用FuffSuffic,我有一个长的验证逻辑,这就是为什么我将验证分离,以便不改变您的逻辑,您可以通过会话传递标题。检查编辑。哦,我的上帝,我不认为天哪,谢谢你,伙计!