2012-05-02 34 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

相关问题