首頁 > 後端開發 > PHP問題 > php怎麼實現每天積分加一

php怎麼實現每天積分加一

藏色散人
發布: 2023-03-14 13:36:02
原創
1506 人瀏覽過

php實現每天積分加一的方法:1、在資料表裡增加一個欄位logintime;2、使用一天中的零時零分零秒和上一次的登入時間進行比較;3、通過“if($lastLogintime < $today) {...}”實現積分增加即可。

php怎麼實現每天積分加一

本文操作環境:Windows7系統,PHP7.4版,Dell G3電腦。

php怎麼實現每天積分加一?

php實現一天多次登入,只積分一次功能:

#在網路上找了很多的案例,感覺都差不多,有的還比較的繁瑣,就自己嘗試了一下,如何實現這個功能

實現這個功能我在資料表裡面增加了一個字段logintime,表示最後一次的登入時間,然後使用一天中的零時零分零秒和上一次的登入時間進行比較,如果上一次的登入時間大於了這個時間點表示已經登陸過,如果上一次的登入時間小於了這個時間點,則表示第一次登錄,增加積分

上程式碼:

// 判断是否是一天中第一次登录
// 上一次登陆的时间
$lastLogintime = $userinfo[&#39;logintime&#39;];
// 一天中的零时零分零秒
$today = strtotime(date(&#39;Y-m-d&#39;));
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);
}
登入後複製

要注意的是也要修改登入時間:

// 更新登录时间和登录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);
登入後複製

推薦學習:《PHP影片教學

以上是php怎麼實現每天積分加一的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板