php cook ie меняется на NULL при переходе на другую страницу - PullRequest
0 голосов
/ 28 апреля 2020

В моем контроллере / Welcome. php Я включаю функцию входа в систему. Это не весь код. Я включил только ключевые части кода, чтобы вы могли прочитать его более четко. Я установил значение по умолчанию login_status как false. Когда у пользователя правильное имя пользователя и пароль, login_status устанавливается как true. Однако в моем проекте / Home. php я пытаюсь получить повар ie "login_status". но повар ie становится NULL. Основные части кода следующие:

контроллер / Welcome. php publi c функция входа в систему ()


        $this->input->set_cookie('login_status',FALSE,time()+3600);//delete or not

        if($this->input->cookie('login_status')==FALSE){    

            //The following code means login password match the username
            elseif($infomatch){

                if($remember == 1){
                    $this->input->set_cookie('username',$username,time()+3600);
                    $this->input->set_cookie('password',$password,time()+3600);
                    $this->input->set_cookie('remember',$remember,time()+3600);
                }
                else
                {
                    $this->input->set_cookie('username',"",time()-3600);
                    $this->input->set_cookie('password',"",time()-3600);
                    $this->input->set_cookie('remember',"",time()-3600);
                }
                $this->input->set_cookie('login_status',TRUE,time()+3600);//hihihihihi
                redirect('home');

            }

    }

контроллер / Home. php

if($this->input->cookie('login_status')==FALSE){
            header("location: Welcome/login");
        } else{


            $this->session->set_userdata('login_status',TRUE);

            $this->load->database();
            $this->load->model('scheduler_model');
            $this->load->view('header.php');

            $data['username'] = $this->session->userdata('username');

            $data["getnames"]=$this->scheduler_model->get_users();
            $this->load->view('home/homepage',$data);

            $data["getassignments"]=$this->scheduler_model->get_assignment();
            $data["getselectedcourses"]=$this->scheduler_model->get_select_course();
            $this->load->view('home/assignments',$data);  
        }

1 Ответ

0 голосов
/ 28 апреля 2020

Файлы cookie представляют собой обычный текст. Вы не можете хранить логические значения в файлах cookie. Что вы можете сделать, это сохранить строку, которая представляет логическое значение. Пример: 1 for true и 0 for false

$this->input->set_cookie('login_status','0',3600); //set it to '1' in the log in process
//also notice: expiration is how long it should remain in seconds

Для проверки

if($this->input->cookie('login_status')== '0'){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...