2017-03-19 27 views
1

PHPを初めてお使いになると、一定期間後に顧客アカウントを無効にする方法についての提案が必要です。たとえば お客様がシステムでアカウントを作成した後で操作を実行しない場合、システムはアカウントを自動的に無効にする必要がありますPHPのアカウント制限

+1

アクティブではない顧客を毎日確認するphp cronジョブを作成できます。顧客情報をデータベースに格納していると仮定していますか?もしそうなら、テーブルはcreated_on dateとlast_login dateを持つべきです。これらの2つのフィールドを比較し、その差異が要件を満たしていない場合は、アカウントを無効にします。 – altoids

+0

あなたは1つのことをすることができます。 DBには2つのフィールドがあります。一つは 'creationDate'で、もう一つは' updationDate'です。 Created Dateは、更新されない日付を作成している必要があります。そして、 'updatedDate'フィールドは各アクティビティで更新されるべきです。あなたのバックグラウンドでは、アカウントの非活動化のための '非活動'の期間をチェックするための1つの 'cronjob'があります。 –

答えて

0

通常、何らかの定期的なジョブこれを起動するには、POSIXタイプのシステム(Linuxなど)用の共通スケジューリングシステムcronを使用します。

あなたが最後のアクティビティを示す列を持っている場合は、注意が必要なレコードを選択すると、多くの場合のように行われます。

SELECT id FROM customers 
    WHERE last_active_at < DATE_SUB(UTC_TIMESTAMP(), INTERVAL 10 DAY) 
    AND idle_notification IS NULL 

列を「すでに通知された」のいくつかの種類に対してこのテストを。それはあなたの要求に応じて、「アクティブである」または「中断していない」こともあります。

あなたは通知を送信し、フラグ彼らはので、それらを繰り返していない:

UPDATE customers SET idle_notification=1 WHERE id IN (...) 

をそのリストには、以前に反転し、すべてのid値を含みます。

関連する問題