0

我用 Classic ASP 编写了一个注册系统。用户注册并将收到一封激活电子邮件。我想删除记录(用户),如果用户没有通过点击激活链接激活他们的帐户,则在 24 小时后发送。

怎么办?

我的用户表有这些行(我正在使用 Access):

UserID     text
Username   text
Password   text
Email      text
Hash       text
join_date  date/time
active     Yes/No

Ps:我无法访问 IIS 配置,因为我的网站存储在公共服务器上而不是专用服务器上

4

1 回答 1

0

如果您无法创建计划任务来运行 ASP 脚本,那么最好的办法可能是在 global.asa 中的 Session_OnStart 事件中执行此操作。每次启动新会话(新用户访问)时都会运行。如果您在“应用程序”变量中设置上次运行时间,则可以选择仅在经过设定的时间后运行例程以删除这些用户。但是,如果您的网站没有经常访问者,那么它就不会经常运行。

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
于 2012-07-27T04:57:20.553 回答