Я назначаю токен пользователю, когда он входит в систему, этот токен будет сохранен в базе данных и истекает через 12 часов.
Для этого, когда пользователь входит в систему, он будет показан в виде,
** мой взгляд **
<a href=" <?php echo site_url('admin/checkval') ?> ">check valididty of token</a>
когда он нажимает на это,
Мой контроллер
public function checkval(){
$this->load->library('session');
$goal = $this->session->userdata('user_id');
$uid = $goal[0];
$token = $goal[1];
$this->load->model('loginmodel');
$check_id = $this->loginmodel->token_valid($uid, $token);
if($check_id){
$data['query'] = $this->loginmodel->get_last_ten_entries();
$this->load->view('admin/account', $data);
print_r($data);
echo "valid";
}else {
echo "invalid";
}
}
если его токен действителен, ему будет показан список пользователей
модель
public function token_valid($uid, $token){
$responce = $this->db->query("SELECT expired_at FROM user_auth
WHERE id = '$uid' AND token = '$token'");
$date = strtotime($responce->result());
echo "$date";
$cdate = date("Y-m-d H:i:s");
$cdate = strtotime($cdate);
$interval = date_diff($date,$cdate);
$hour = $interval->h;
if(h<12){
return TRUE;
}else {
return FALSE; // code...
}
}
база данных
In user_authу меня есть таблица,
id int(50),token varchar(500),expired_at datetime
, но когда я это делаю, ошибка происходит следующим образом:
strtotime () ожидает, что параметр 1 будет строкой, массив будет дан
date_diff () ожидает, что параметр 1 будет DateTimeInterface, логическое значение задано
Попытка получить свойство необъектного0
Использование неопределенной константы h - предполагается, что 'h'
Я думаю, что как только первая ошибка будет устранена, другие исчезнут.Как я могу это сделать?Что я здесь не так делаю?Спасибо за ваши предложения