Php 如何存储用户登录的次数?
型号Php 如何存储用户登录的次数?,php,codeigniter,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'))
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);
}
}
}
}
//用户登录函数
函数Ulogin(){
如果($this->session->userdata('user'))
{
$data['user']=$this->session->userdata('user');
$this->load->view(“用户/选择类别”,$data);
}
其他的
{
$data=数组(
'username'=>this->input->post('username'),
'password'=>this->input->post('password'),
);
$this->form_validation->set_规则('username','username','required');
$this->form_validation->set_规则('password','password','required');
如果($this->form\u validation->run()==false)
{
$this->load->view('User/login');
}
其他的
{
如果($this->user\u model->userlogin($data)==false)
{
$data['error']='请提供有效的用户名/密码!';
$this->load->view('User/login',$data);
}
其他的
{
$this->session->set_userdata('user',$data['username');
$data['user']=$this->session->userdata('user');
$counter=数组(
“登录”=>“登录”+1
);
$this->user\u model->Updateno($this->session->userdata('user'),$counter);
$this->load->view(“用户/选择类别”,$data);
}
}
}
}
我希望每当用户成功登录时,我的登录cloumn值增加1,但在此代码中,登录列的值始终为1,请帮助这里的任何人您要做的是:
$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
我制作了一个演示来演示如何使用它
演示:这里只需将值增加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'));
我在数组中给出它,比如$counter=array('logged\u in'=>'logged\u in'+1);在上次检查中的控制器中使用
echo$this->db->last_query()
打印更新查询并检查返回的内容,并将数组更改为$counter=array('logged_in'=>“'logged_in'+1”)代码>它不工作,这将值更改为10@John康德我理解他的问题,他自己写了这段代码,他试图增加价值,但失败了,他在这件事上寻求帮助。我甚至不知道这里缺少了什么——除了这篇文章可以有更好的结构这一事实之外,这个值存储在一个数据库中@sintakonte我想我看错了这个问题。我已经改变了我的答案,尽管你的答案看起来更清晰