Как использовать переменную сеанса в каждом методе, только объявив в классе - PullRequest
0 голосов
/ 15 октября 2018

Я хочу установить свою переменную сеанса в каждой функции класса.Если сеанс не установлен ни в одной из функций, его следует перенаправить на домашнюю страницу

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class App_config extends CI_Controller {


    public function masteradmin()
        {      
              if($this->session->userdata('name')){   
             $data = $this->session->all_userdata();

             $this->load->view('user/masteradmin',array('data'=>$data));

          }

          else
          {
              redirect('/', 'refresh');
          }

        }

        public function reseller()
        {


        }

}

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

создайте суперкласс в основной папке, такой как MY_Controller.php, и там вы можете определить сессию, а затем вызвать этот суперкласс в каждом контроллере.например:

class App_config extends MY_Controller {
}
0 голосов
/ 15 октября 2018

Используйте конструктор для этого.В OOP конструктор является первым методом любого класса, который вызывается.Итак, вы можете создать конструктор и проверить переменную сеанса.Если переменная существует, ничего не делать, она автоматически вызовет функцию.Если переменная сеанса не существует, перенаправьте пользователя на домашнюю страницу.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class App_config extends CI_Controller {
    function __construct(){
        parent::__construct();
        if(!$this->session->userdata('name')){
            redirect('/home');
        }
    }

    public function masteradmin(){      
        $data = $this->session->all_userdata();
        $this->load->view('user/masteradmin',array('data'=>$data));
    }

    public function reseller(){

    }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...