Php 使用codeignitor中的cookie登录时记住我复选框

Php 使用codeignitor中的cookie登录时记住我复选框,php,codeigniter,session-cookies,remember-me,Php,Codeigniter,Session Cookies,Remember Me,我想在点击“记住我”复选框时保存电子邮件和密码,cookie应该设置为“记住我”。登录正常。请帮助我在codeignitor中输入代码这是我的控制器代码: public function loginaction() { $email=$this->input->post('email'); $password=$this->input->post('password'); $wh

我想在点击“记住我”复选框时保存电子邮件和密码,cookie应该设置为“记住我”。登录正常。请帮助我在codeignitor中输入代码这是我的控制器代码:

       public function loginaction()
        {

       $email=$this->input->post('email');
            $password=$this->input->post('password');
            $where = array('email'=>$email,'password'=>$password);
            $tbname='login';
            $query = $this->Insert_Model->viewdata($tbname,$where);

                    if(empty($query))
                    {
                        $data['msg']="Invalid email or password";
                        $this->load->view('login',$data);
                    } 
                    else 
                    {
                        redirect('dashboardv1');
                    }



        }
下面是我实现的cookie代码:

function set()

   {

       $cookie= array(

           'name'   => 'chkremember',
           'value'  => 'test',                            
           'expire' => '300',                                                                                   
           'secure' => TRUE

       );

       $this->input->set_cookie($cookie);



   }



   function get()

   {

       echo $this->input->cookie('chkremember',true);

   }

首先,正如我在评论部分提到的,您必须包括cookie助手

然后在你的控制器里

public function loginaction()
    {
        $this->load->helper('cookie');
        $email=$this->input->post('email');
        $password=$this->input->post('password');
        $where = array('email'=>$email,'password'=>$password);
        $tbname='login';
        $query = $this->Insert_Model->viewdata($tbname,$where);

                if(empty($query))
                {
                    $data['msg']="Invalid email or password";
                    $this->load->view('login',$data);
                } 
                else 
                {
             //first you have to delete old cookie and create new one
                delete_cookie("email");
                delete_cookie("password");
                if ($this->input->post('remember') == 'true') {

                  $userName = array(
                    'name' => 'email',
                    'value' => YOUREMAIL,
                    'expire' => '86500',
                    'prefix' => '',
                    'secure' => FALSE
                  );
                  $this->input->set_cookie($userName);

                  $password = array(
                    'name' => 'password',
                    'value' => YOURPASSWORD,
                    'expire' => '86500',
                    'prefix' => '',
                    'secure' => FALSE
                  );
                  $this->input->set_cookie($password);
                }
                    redirect('dashboardv1');
             }
    }
获取您可以在下面代码中使用的cookie

<?php echo get_cookie('email'); ?>
<?php echo get_cookie('password'); ?>


cookie代码在哪里?我编辑了这篇文章。现在请查看是否已清除。您需要添加帮助器cookie
$this->load->helper('cookie')
非常感谢。。您的代码运行良好。你能帮我在控制器中使用注销功能吗?我希望表单字段保持充满电子邮件和密码,用户登录时会选择“记住我”复选框。谢谢,请对答案进行投票,以便其他开发人员可以使用这些代码。您只需在输入字段中使用
作为值。并检查是否设置了
获取cookie(“电子邮件”)
,然后记住我复选框是否选中其他复选框。而您的注销控制器只需取消设置会话,无需在cookie中执行任何操作。