Intereting Posts

как отключить кнопку «Назад» в кодеригенере?

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

Модель:

public function login () { $user = $this->get_by(array( 'email' => $this->input->post('email'), 'password' => $this->hash($this->input->post('password')), ), TRUE); if (count($user)) { // Log in user $data = array( 'name' => $user->name, 'email' => $user->email, 'id' => $user->id, 'loggedin' => TRUE, ); $this->session->set_userdata($data); } } public function logout () { $this->session->sess_destroy(); $this->session->unset_userdata('logged_in','id','name','email'); } public function loggedin () { return (bool) $this->session->userdata('loggedin'); } 

контроллер:

 public function login () { // Redirect a user if he's already logged in $dashboard = 'user/dashboard'; $this->userlogin_m->loggedin() == FALSE || redirect($dashboard); // Set form $rules = $this->userlogin_m->rules; $this->form_validation->set_rules($rules); // Process form if ($this->form_validation->run() == TRUE) { // We can login and redirect if ($this->userlogin_m->login() == TRUE) { redirect($dashboard); } else { $this->session->set_flashdata('error', 'That email/password combination does not exist'); redirect('user/secure/login', 'refresh'); } } // Load view $this->data['subview'] = 'user/secure/login'; $this->load->view('user/_layout_modal', $this->data); } public function logout () { $this->userlogin_m->logout(); redirect('user/secure/login'); } из public function login () { // Redirect a user if he's already logged in $dashboard = 'user/dashboard'; $this->userlogin_m->loggedin() == FALSE || redirect($dashboard); // Set form $rules = $this->userlogin_m->rules; $this->form_validation->set_rules($rules); // Process form if ($this->form_validation->run() == TRUE) { // We can login and redirect if ($this->userlogin_m->login() == TRUE) { redirect($dashboard); } else { $this->session->set_flashdata('error', 'That email/password combination does not exist'); redirect('user/secure/login', 'refresh'); } } // Load view $this->data['subview'] = 'user/secure/login'; $this->load->view('user/_layout_modal', $this->data); } public function logout () { $this->userlogin_m->logout(); redirect('user/secure/login'); } 

Solutions Collecting From Web of "как отключить кнопку «Назад» в кодеригенере?"

Попробуйте отключить кеш, используя:

 <META HTTP-EQUIV="Pragma" CONTENT="private"> <META HTTP-EQUIV="Cache-Control" CONTENT="private, max-age=5400, pre-check=5400"> <META HTTP-EQUIV="Expires" CONTENT="<?php echo date(DATE_RFC822,strtotime("1 day")); ?>"> 

Также попробуйте добавить ниже:

 $this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0"); $this->output->set_header("Pragma: no-cache");