2012-05-02 33 views
0

我是新的PHP ..我想要自動刪除用戶,如果他不嘗試在30天內登錄。如何刪除用戶,如果用戶不嘗試在30天內登錄php

for example 
if user login on "10-02-2012" , 
and if user doesnot login for next 30 days 
then system should automatically delete his account. 

if user again login on "15-02-2012" , 
then limit should be for next 30 days i-e "15-03-2012" 

,請幫助我,我在PHP很新

i have no idea how to store the date when user attempt to login. 
+0

接受你必須擁有超過15的聲望的答案。@sudhir – maham

+0

@maham現在你可以接受答案 –

+0

@Jassi,不需要,只需要一個聲望點。 – sarnold

回答

1
  1. 你想擁有在user表中的日期字段和查詢,設置該日期爲CURDATE(),只要您的登錄腳本運行刪除腳本。例如:

    UPDATE'users'SET'lastlogin'= CURDATE()WHERE'userid'='$ userid';

  2. 有每天一次(或不論你想要的)運行一個查詢所有31個天大的領域,並刪除他們的crontab:

    DELETE FROM「用戶」 WHERE「lastlogin」 < CURDATE( ) - 間隔31天

+0

什麼是crontab ??? @Chad Hedgcock – maham

+0

一個腳本自動定期運行(如每月或每日)大多數主機有辦法設置一個他們的控制面板,它要求你知道你的腳本的服務器路徑(不是url),你可以通過在腳本的某個地方臨時打印$ _SERVER ['SCRIPT_FILENAME']來找到它,如果crontab不是一個選項,理想的選擇是讓#2搭載另一個腳本,比如登錄腳本,因此它會在有人登錄時刪除舊用戶。這不太理想,因爲它可能比y更頻繁地運行你需要或不夠頻繁。 –

+0

好的,謝謝... – maham

0

在你的數據的基礎上,在用戶帳戶存儲,可以存放上一次他們在使用內置在MySQL的一個記錄日期/時間數據類型。在您的PHP中,您可以使用另一個MySQL命令將其更新爲當前時間。此頁面將幫助您開始:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

至於刪除用戶,您需要設置一個cron作業/計劃任務,它將通過檢查日期並查看是否爲30天前刪除此用戶。用戶在每次登錄的日期更新:

0

您可以添加兩個字段的用戶表

  1. created:年月日時用戶註冊
  2. login_date

您可以使用在選定時間自動運行的cron作業(在其中設置路徑)。你可以在固定的時間每天運行它。如果同時發現createdlogin_date,則從數據庫中刪除該用戶。你可以從你的cPanel設置cron作業。

感謝

1
  1. 登錄數據庫的上次登錄日期。
  2. 編寫一個腳本,用於搜索和刪除上次登錄時間超過30天前的用戶。
  3. 開始搜索,並用cron作業
+0

什麼是cron工作:( – maham

+1

@maham在某些時候自動執行的腳本。這不是PHP的具體情況,如果你想做服務器端編碼,我會重新給你google的它並閱讀了一些關於它Crinjobs非常方便你的任務 –

0

設置cron作業每天一次,並檢查誰沒有從過去30天內曾登錄到當前的時間/日期,你可以使用時間戳或日期爲最後的登錄

1

這裏是關於構建登錄系統的教程tem:
http://www.phpeasystep.com/phptu/6.html

您的解決方案將通過向成員表中添加一個名爲「last_login」的DATETIME字段添加到本教程中。每當有人登錄時,你就像一個數據庫查詢更新LAST_LOGIN領域:

UPDATE TABLE members SET last_login = CURRENT_TIME WHERE id = xxx LIMIT 1 

然後你可以運行其他數據庫查詢每天一次刪除非活動賬戶,自定義刪除日期根據需要:

DELETE FROM TABLE members WHERE last_login < '2012-04-01 00:00:00' 
1

這很簡單。

  1. 在存儲最近登錄日期的DB表中創建一個字段。
  2. 編寫一個腳本,每天晚上在午夜檢查登錄日期與當前日期。

關於這件事的好處是日期對象允許您輕鬆地比較日期。

這裏有一些鏈接,這將有助於:

http://php.net/manual/en/function.date.php

http://www.w3schools.com/sql/sql_dates.asp

好運!這是非常直接的,我已經做了很多次,我確信你不會有太多麻煩。

+0

如何編寫每天自動運行的腳本 – maham

+0

http://www.google.com/search?q=how+to+run+a+cron+job&ie=utf-8&oe=utf-8&aq = T&RLS = org.mozilla:EN-US:官方與客戶端= firefox的-A#HL = EN&gs_nf = 1&PQ =如何%20to%20run%20A%20cron%20job和CP = 6&gs_id = 1P&XHR = T&q =的cron +工作與PF = p&客戶端= firefox的-A&HS = SBV&RLS = org.mozilla:EN-US%3Aofficial&sclient = PSY-AB和OQ = cron的+ J&水溶液= 0&AQI = G4&AQL =&gs_l =&PBX = 1&BAV = on.2,or.r_gc.r_pw.r_qf,cf.osb&FP = d7cb668c3d121159&BIW = 1367&波黑= 945 – mikjryan

相關問題