codeigniter之记住我按钮上的 codeigniter 复选框出现问题

birdshome 阅读:143 2025-02-15 21:57:57 评论:0

我将用户名和密码存储在 cookie 中,但我在使用记住我按钮时遇到了一些麻烦检查我的 Controller 它不会工作我知道问题出在我的 if 条件下请有人解决我的问题或更正我的语法将非常感激。这是我的 Controller 和 View 代码。

 function verifying(){ 
   $data=array( 
            'username'=>$this->input->post('username'), 
            'password'=>$this->input->post('password') 
            ); 
        if($this->input->post('remember_me')=="checked") 
        { 
                 $cookie = array( 
                    'name'   => 'username', 
                    'value'  => $this->input->post('username'), 
                    'expire' =>  86500, 
                    'secure' => false 
                ); 
 
                $cookie1 = array( 
                    'name'   => 'password', 
                    'value'  => $this->input->post('password'), 
                    'expire' =>  86500, 
                    'secure' => false 
                ); 
        } 
                $this->input->set_cookie($cookie);  
                $this->input->set_cookie($cookie1); 
 
       $result=$this->user->verify("signup",$data); 
       if($result) 
       { 
           $sess_arrau=array(); 
           foreach($result as $row) 
           { 
               $sess_arrau=array('username'=>$row->username); 
           } 
            $this->session->set_userdata($sess_arrau); 
            $data['username']=$this->session->userdata('username'); 
            $this->load->view("success",$data);    
       } 
 
       //$this->load->view("success",$sess_array); 
 
   else{ 
  redirect("signin"); 
   } 
   } 

登录页面代码。

<?php 
 $username=$this->input->cookie('username', false); 
  $password=$this->input->cookie('password',false); 
 if($this->session->userdata('username')!=''){ 
 redirect("index/post"); 
 } 
 echo form_open("index/verifying"); 
 echo form_input('username',"$username",'placeholder="username"'); 
 
 echo form_checkbox('remember_me','REMEMBER ME',FALSE); 
 echo form_label('REMEMBER ME','remember_me'); 
  ?> 
</div> 
</div> 
<div class="row"> 
<div class="col-lg-12"> 
<?php 
 echo form_password('password',"$password",'placeholder="password"');  
 echo form_submit('submit','Signin'); 
 echo form_close(); 
 ?> 

请您参考如下方法:

你的问题是“checked”将不是输入的值,当它被检查时。相反,该值将是“REMEMBER ME”,因为这是您传递给 form_checkbox 函数的第二个参数。

所以在你的 Controller 中而不是做

if($this->input->post('remember_me')=="checked") 
{ 
    //Do stuff here... 
} 

你需要做的

if($this->input->post('remember_me')=="REMEMBER ME") 
{ 
    //Do stuff here... 
} 


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号