我在Classic ASP中编写了一个注册系统。用户注册并将收到激活电子邮件。 我想删除记录(用户),如果用户没有激活他们的帐户,请点击24小时后发送的激活链接。
怎么办?
我的users表有这些行(我正在使用Access):
UserID text
Username text
Password text
Email text
Hash text
join_date date/time
active Yes/No
P.s:由于我的网站存储在公共服务器而不是专用服务器上,因此我无法访问IIS配置
答案 0 :(得分:0)
如果您无法创建计划任务来运行ASP脚本,那么接下来最好的事情可能是在Session_OnStart事件中的global.asa中执行此操作。每次启动新会话时都会运行(新用户访问)。如果在“应用程序”变量中设置上次运行时间,则可以选择仅在设定的时间过后运行例程以删除这些用户。但是,如果您没有频繁访问您网站的访问者,那么它将无法经常运行。
Sub Session_OnStart
'Runs on application start or after 15 minutes
If Application("LastRun") = "" Or DateDiff(n, Application("LastRun"), Now()) > 15 Then
'Your code to delete users here, a query like this...
'DELETE FROM [tableName] WHERE [active] = 0 AND DATEDIFF(hh, [join_date], GETDATE()) >= 24
Application("LastRun") = Now()
End If
End Sub