0

Classic ASP で登録システムを作成しました。ユーザー サインアップすると、アクティベーション メールが届きます。ユーザーが24時間後に送信されたアクティベーションリンクをクリックしてアカウントをアクティブにしなかった場合、レコード(ユーザー)を削除したいと思います。

どのようにそれを行うことができますか?

私のユーザーテーブルにはこれらの行があります(私はアクセスを使用しています):

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

Ps: 私の Web サイトは専用サーバーではなく公開サーバーに保存されているため、IIS 構成にアクセスできません。

4

1 に答える 1

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