phpログイン時間判断に基づく1日複数回のログインを1回だけ積分する機能例

1571 ワード

本例では,phpが登録時間判断に基づいて1日に1回の複数回の登録を1回だけ積分する機能を実現することを述べた.皆さんの参考にしてください.具体的には以下の通りです.
ネット上で多くのケースを探して、感じはすべて悪くなくて、あるのはまた比較的に煩雑で、自分で試して、どのようにこの機能を実現します
この機能を実現するには、データテーブルに最後のログイン時間を表すフィールドlogintimeを追加し、一日の0時0分0秒と前回のログイン時間を比較し、前回のログイン時間がこの時点より大きい場合はログイン済み、前回のログイン時間がこの時点より小さい場合は最初のログインを示します.せきぶんをふえる
上のコード:

//              
//         
$lastLogintime = $userinfo['logintime'];
//           
$today = strtotime(date('Y-m-d'));
if($lastLogintime < $today) {
  //             (    )
  //   :                 id
  $data['id'] = $userinfo['id'];
  $data['userinfo'] = array(
    'points' => $userinfo['points'] + C('LOGIN'),
  );
  $user->relation(true)->where(array('id'=>$userinfo['id']))->save($data);
}


ログイン時間も変更する必要があります.

//          ip
$updateData = array(
  'id' => $userinfo['id'],
  'userinfo' => array(
    'logintime' => time(),
    'loginip' => getIP(),
  ),
);
$user->relation(true)->where(array('id'=>$userinfo['id']))->save($updateData);


これでこの機能が実現しました
PHPに関する詳細について興味のある読者は、「php日付と時間用法総括」、「PHP配列(Array)操作テクニック大全」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「phpよくあるデータベース操作テクニック要約」を参照してください.
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.