Codeigniter: проблема выхода

Я на самом деле не захожу на страницу. Но когда я нажимаю на сервисы на странице индекса для получения дополнительных сервисов, вместо входа в систему отображается кнопка выхода из системы. Пожалуйста, предоставьте решение этой проблемы.

контроллер:

public function more_services($serviceid)
    {
        $data = $this->data;
        $this->load->helper(array('form','url'));
        $id=$this->session->userdata('id');
        $this->load->model('realpropertiesmodel');
        $data['service']=$this->realpropertiesmodel->getServicesbyID($serviceid);

        $this->smarty->view('service/service_viewdetails.tpl',$data);

    }
public function logout()
        {
            $this->session->sess_destroy();
            $data = $this->data;
            redirect("realestate/index" ,'refresh');

        }

В представлении я добавляю следующий код:

[~if $id==''~] 
 [~include file="common/realestate_header.tpl"~]
 [~else~]
 [~include file="home/realestate_header.tpl"~]
 [~/if~] 

Но я получил ту же ошибку, когда добавляю много кода. Пожалуйста, предоставьте решение этой проблемы.

1 ответ

Ваш id переменная может быть false так что ваш чек с "" может потерпеть неудачу.

Первое решение:

Изменить id переменная как -1 если информация для входа отсутствует:

$this->load->helper(array('form','url'));
$id= $this->session->userdata('id');
$id = ($id) ? $id : -1;
$this->load->model('realpropertiesmodel');

А затем проверьте:

[~if $id!=-1~] 

Второе решение

Непосредственно проверить на false:

[~if $id==false~] 
Другие вопросы по тегам