在使用codeigniter复选框时遇到问题,请记住我的按钮

时间:2014-03-21 10:38:21

标签: codeigniter cookies

我在cookie中存储用户名和密码,但我记得我按钮我没有什么问题我希望当用户选中复选框时,cookie存储值其他只登录用户但问题出在这里我放了检查我的控制器它不会工作我知道问题是在我的if条件请一些人解决我的问题或更正我的语法将非常感谢。这是我的控制器和视图代码。

 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();
 ?>

2 个答案:

答案 0 :(得分:3)

你的问题是&#34;检查&#34;在检查输入时,它不会成为输入的值。相反,价值将是&#34;记住我&#34;因为这是您传递给form_checkbox函数的第二个参数。

所以在你的控制器中而不是

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

你需要做

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

答案 1 :(得分:1)

很容易上面的答案也是正确的,另一个简短的方法就是这样。

if($this->input->post('remember_me')!="")

它也可以正常工作。