Maison  >  Article  >  développement back-end  >  Exemple d'implémentation PHP de la fonction de connexion plusieurs fois par jour et de ne gagner des points qu'une seule fois

Exemple d'implémentation PHP de la fonction de connexion plusieurs fois par jour et de ne gagner des points qu'une seule fois

黄舟
黄舟original
2017-10-30 11:02:041078parcourir

L'exemple de cet article décrit la fonction de php basée sur le jugement du temps de connexion pour obtenir un seul point pour plusieurs connexions par jour. Je le partage avec vous pour votre référence. Les détails sont les suivants :

J'ai trouvé beaucoup de cas sur Internet, et ils semblaient tous similaires. Certains étaient assez compliqués, alors je l'ai essayé moi-même. et comment implémenter cette fonction

Pour implémenter cette fonction, j'ai ajouté un champ logintime à la table de données, indiquant l'heure de la dernière connexion, puis j'ai utilisé 0:00:00 du jour et l'heure de la dernière connexion. Comparez, si l'heure de la dernière connexion est supérieure à ce moment précis, cela signifie que vous êtes connecté. Si la dernière heure de connexion est inférieure à ce moment précis, cela signifie que vous vous connectez pour la première fois. , augmentez les points

Up code :

// 判断是否是一天中第一次登录
// 上一次登陆的时间
$lastLogintime = $userinfo['logintime'];
// 一天中的零时零分零秒
$today = strtotime(date('Y-m-d'));
if($lastLogintime < $today) {
  // 一天中第一次登录增加积分(关联更新)
  // 注意:使用关联更新数据的时候需要传递两次id
  $data[&#39;id&#39;] = $userinfo[&#39;id&#39;];
  $data[&#39;userinfo&#39;] = array(
    &#39;points&#39; => $userinfo[&#39;points&#39;] + C(&#39;LOGIN&#39;),
  );
  $user->relation(true)->where(array(&#39;id&#39;=>$userinfo[&#39;id&#39;]))->save($data);
}

A noter qu'il faut également modifier l'heure de connexion :

// 更新登录时间和登录ip
$updateData = array(
  &#39;id&#39; => $userinfo[&#39;id&#39;],
  &#39;userinfo&#39; => array(
    &#39;logintime&#39; => time(),
    &#39;loginip&#39; => getIP(),
  ),
);
$user->relation(true)->where(array(&#39;id&#39;=>$userinfo[&#39;id&#39;]))->save($updateData);

De cette façon, cette fonction est atteint

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn