2017-04-06 105 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的列,如果他們採取行動將其設置爲1(如true或false),則將該值設置爲0,然後簡單地如果超過24小時並且0刪除 – Gert

回答

0

如果你想要的東西發生在服務器上,那麼你就應該保持在服務器端的計時器,而不是客戶端。否則,用戶可以簡單地改變定時器或以其他方式阻止到期意圖觸發的動作。我會在用戶記錄中存儲一個時間戳記,記錄它的創建時間。然後編寫一個腳本來循環超過閾值的所有記錄,並對它們執行所需的操作。然後通過定期觸發的cron運行此腳本。

+0

這似乎對我有意義,但我對使用cron不太熟悉。你能給我一個這樣的腳本樣本嗎? –

+0

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