이 문서의 예에서는 하루에 여러 번 로그인할 때 한 번만 점수를 매기는 기능을 실현하기 위해 로그인 시간 판단을 기반으로 하는 php에 대해 설명합니다. 참고하실 수 있도록 공유해 드리며, 자세한 내용은 다음과 같습니다.
인터넷에서 많은 사례를 찾아보니 모두 비슷해 보이고 일부는 상당히 번거로워서 직접 시도해 보고 이 기능을 구현하는 방법은 다음과 같습니다.
이 기능을 데이터 A 필드에 구현했습니다. logintime이 테이블에 추가되어 마지막 로그인 시간을 표시한 다음 해당 날짜의 0:00:00을 사용하여 마지막 로그인 시간과 비교합니다. time 이 이 시점보다 크면 이미 로그인되었음을 의미하며, 마지막 로그인 시간이 이 시점보다 작을 경우 첫 로그인을 의미하며 포인트가 증가합니다.
위 코드:
// 判断是否是一天中第一次登录 // 上一次登陆的时间 $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 중국어 웹사이트의 기타 관련 기사를 참조하세요!