Чтобы получить доступ к данным сеанса от метода к методу (или от страницы к странице), необходимо выполнить перенаправление.
Например:
public function display() {
$data = array(
'word' => 'hello'
);
$this->session->set_userdata($data);
redirect('your_controller/validate');
}
public function validate() {
$word_generated = $this->session->userdata('word');
}
Если вы просто пытаетесь совместно использовать переменную с двумя методами в одном контроллере при одном и том же вызове, у вас есть две опции:
1.Установите публичное свойство для вашего класса контроллера:
class Your_controller extends CI_Controller {
public $word;
public function display() {
$this->word = 'hello';
$this->validate();
}
public function validate() {
$word_generated = $this->word;
}
}
2.Просто передайте переменную методу, как обычно:
class Your_controller extends CI_Controller {
public $word;
public function display() {
$this->validate('hello');
}
public function validate($word='') {
$word_generated = $word;
}
}
Надеюсь, что вам это поможет.