Das Beispiel in diesem Artikel beschreibt die Funktion von php basierend auf der Beurteilung der Anmeldezeit, um bei mehreren Anmeldungen pro Tag nur einen Punkt zu erreichen. Ich teile es Ihnen als Referenz mit:
Ich habe viele Fälle im Internet gefunden und sie schienen alle ziemlich kompliziert zu sein, also habe ich es selbst versucht und wie man diese Funktion implementiert
Um diese Funktion zu implementieren, habe ich der Datentabelle ein Feld logintime hinzugefügt, das die letzte Anmeldezeit angibt, und dann 0:00:00 verwendet Tag und die letzte Anmeldezeit. Wenn die letzte Anmeldezeit größer als dieser Zeitpunkt ist, bedeutet dies, dass Sie sich angemeldet haben. Wenn die letzte Anmeldezeit kürzer als dieser Zeitpunkt ist, bedeutet dies, dass Sie sich zum ersten Mal anmelden , Punkte erhöhen
Up-Code:
// 判断是否是一天中第一次登录 // 上一次登陆的时间 $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); }
Es ist zu beachten, dass Sie auch die Anmeldezeit ändern müssen:
// 更新登录时间和登录ip $updateData = array( 'id' => $userinfo['id'], 'userinfo' => array( 'logintime' => time(), 'loginip' => getIP(), ), ); $user->relation(true)->where(array('id'=>$userinfo['id']))->save($updateData);
Auf diese Weise funktioniert diese Funktion erreicht wird
Das obige ist der detaillierte Inhalt vonBeispiel für die PHP-Implementierung der Funktion, sich mehrmals am Tag anzumelden und nur einmal Punkte zu sammeln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!