如何存储用户登录的次数?

时间:2017-04-11 11:13:22

标签: php codeigniter

模型

function Updateno($user,$data){
       $this->db->where('username', $user);  
        $this->db->update('user', $data);
    }

控制器

//user login function
    function Ulogin(){

        if($this->session->userdata('user'))
        {
             $data['user'] = $this->session->userdata('user');
            $this->load->view("User/choosecategory",$data);
        }
        else
        {        
        $data = array(
        'username' =>$this->input->post('username'),
        'password' =>$this->input->post('password'),
        );
        $this->form_validation->set_rules('username','UserName','required');
        $this->form_validation->set_rules('password','Password','required');
        if($this->form_validation->run()==false)
            {
            $this->load->view('User/login');
            }
        else
            {
            if($this->user_model->userlogin($data)==false)
            {
                $data['error'] = '<div class="alert alert-danger text-danger">Please Provide Valid Username/Password!</div>';
            $this->load->view('User/login',$data);
            }
            else
            {
               $this->session->set_userdata('user',$data['username']);
                $data['user'] = $this->session->userdata('user');
                $counter = array(
        'logged_in' =>'logged_in'+1
        ); 
        $this->user_model->Updateno($this->session->userdata('user'),$counter);
               $this->load->view("User/choosecategory",$data);
            }
            }
        }
    }

我希望每当用户登录成功时,我的logged_in cloumn值增加1,但在此代码中,logged_in列的值始终为1,plz帮助我这里的任何人

2 个答案:

答案 0 :(得分:2)

这里你唯一需要做的就是将值增加1

尝试以下代码

你的模特

function Updateno($user)
{
    $this->db->where('username', $user); 
    $this->db->set("logged_in","logged_in+1",false);
    $this->db->update('user');
}

并在您的控制器中

$this->user_model->Updateno($this->session->userdata('user'));

答案 1 :(得分:0)

你想要做的是:

$value = explode("logged_in", $counter['logged_in']); //get the number of the counter
$counter['logged_in'] = 'logged_in' . ((int)$value[1] +1); //increase value by 1 

这将从您的字符串中获取当前计数器值并将其增加1

我做了一个演示来展示如何使用它

DEMO: https://eval.in/773121