2017-05-04 63 views
1

我想將註銷時間存儲在數據庫中,同時單擊註銷按鈕。請幫助我如何獲取日期和時間並將其存儲在數據庫中。我對codeigniter並不熟悉。使用codeigniter在數據庫中存儲註銷時間

這裏是我的註銷控制器

public function logout() 
{ 
    $this->session->unset_userdata('SESS_ADMIN'); 

    redirect('test'); 
} 
+0

首先,你試圖做到這一點呢?任何你嘗試過但沒有用的東西?你有沒有創建一個用戶表? – JoshulSharma

+0

當然,我有一個用戶表,我嘗試使用一些代碼,但它沒有奏效。 –

+0

你有模特嗎?如果是的話,只需在模型中創建一個功能來更新/插入註銷表。請參閱:https://www.codeigniter.com/userguide3/database/query_builder.html#updating-data – JoshulSharma

回答

2

模型創建一個函數,並從控制器調用它

//Controller 
public function logout() 
{ 
$date = array(
'date'=>date('d-m-y h:i:s') 
); 
$this->model_name->logout($date); 
$this->session->unset_userdata('SESS_ADMIN'); 
redirect('test'); 
} 

//Model 
public function logout($date) 
{ 
    $this->db->insert(table_name, $date); 
} 
1
public function logout() 
{ 
    $dateTime = date("Y-m-d H:i:s"); 
    $this->userModel->updateLogoutTime($dateTime); 
    $this->session->unset_userdata('SESS_ADMIN'); 

    redirect('test'); 
} 

UserModel.php

public function updateLogoutTime($dateTime="") { 
     $data = array(
      'logoutTime' => $dateTime, 
    ); 
     $userId = $this->session->userdata('YOUR_USER_ID_VARIABLE_NAME'); 
     $this->db->where('id', $userId); 
     $this->db->update('TABLENAME' ,$data); 
     return $this->db->affected_rows(); 
} 
0

首先創建你的表格。

create table tbl_user_logout(
id int not null AUTO_INCREMENT, 
user_id int, 
logout_date varchar(100), 
logout_time varchar (100), 
PRIMARY key(id) 
); 

然後去的application/config/database.php中和提供數據庫的詳細信息

然後在你的控制器中添加此代碼

public function logout() 
    { 
     $this->session->unset_userdata('SESS_ADMIN'); 

     $today_date=date('Y-m-d'); 
     $today_time=date('H:i:s'); 

     $post_data=array(
      "user_id"=>$user_id, // user_id you have to get from session data 
      'logout_date'=>$today_date, 
      'logout_time'=>$today_time, 
     ); 
     $this->db->insert('tbl_user_logout',$post_data); 

     redirect('test'); 
    } 
相關問題