2017-04-06 7 views
0

これは私の最初の質問ですが、いくつかの基準を満たしていないかもしれません。私は事前に謝罪しています。 私は、ユーザが登録し、登録後に特定の期間内に行動を起こす予定のlaravel 5で開発されたサイトを持っています。私はその目的のためのカウントダウンタイマーを含んでいます(タイムコードは以下に示されています)。今度は、時間がなくなったらデータベースからユーザーレコードを自動的に削除する必要があります。どうすればいいですか? タイマーコードは次のとおりです。カウントダウンタイマーが不足したときにアクションを実行するにはどうすればよいですか?

<div class="getting-started"></div> 
    <?php 
    $time = strtotime($user['updated_at'].'+24 hours'); 
    $countdown = strftime('%Y/%m/%d %H:%M:%S',$time); 
    ?> 
    <script type="text/javascript"> 
    $(".getting-started") 
    .countdown("{{$countdown}}", function(event) { 
    $(this).text(
    event.strftime('%H:%M:%S') 
    ); 
    }); 
    </script> 
+0

元を保管する方が良いと思います。ユーザが登録されたときの 'time_registered'(タイムスタンプ)。ユーザーがこのアクションを呼び出すと、時刻の差異を確認します。 –

+1

ちょうどデータベースに登録日時を入れ、登録時にisactiveの列を作成します。アクションを取ると値が0に設定されます(真または偽の場合)。その後24時間以上0の場合は – Gert

答えて

0

サーバー上で起こるために何かをしたい場合は、サーバー側のタイマーではなく、クライアント側を維持する必要があります。さもなければ、ユーザーは単にタイマーを変更するか、あるいは、有効期限がトリガーするアクションをブロックすることができます。私は、ユーザーレコードと共にタイムスタンプを保存し、作成時に注意します。次に、しきい値より古いすべてのレコードをループするスクリプトを作成し、目的のアクションを実行します。その後、定期的な間隔で起動するcronでこのスクリプトを実行します。

+0

私には理にかなっていますが、私はcronの使用に慣れていません。あなたはそのようなスクリプトのサンプルをお願いしますか? –

+0

https://www.google.com/#q=how+to+use+cron –

関連する問題