0

データベース (mysql) にテーブルを作成し、php.values を使用してデータベースにデータを挿入するためのコードを記述します。値は適切に挿入されます。ここでは、ステータス列の値を非アクティブに設定します。リンクをアクティブにするためにユーザーにメールを送信すると、サイトがアクティブになり、ステータス列がアクティブとして変更される必要があります。

my db table contains the following columns

name,email,pwd,status,lastlogin,security qun,ans

その時点でユーザーが作成されたときに、ステータスを非アクティブに設定します。その時点で、ユーザーにメールを送信して(このメールで、アカウントへのリンクを送信したい)、アカウントをアクティブにします。その後、ユーザーのみが行きます次のプロセスへ。その後、ユーザーがメールを開いてそのリンクをクリックすると、データベースでステータス列がアクティブとして変更されます。

4

2 に答える 2

0

activation_codeという列を作成し、このactivation_codeを含むリンクを含む電子メールをユーザーに送信できます。このwww.example.com/active.php?activation_code=AABBCCDDEEFFのようなリンク。ユーザーがこのリンクをクリックすると、activation_codeを取得し、データベースでユーザーを見つけてstatusを変更できます。また、アクティベーション コードの有効期限が切れる日付を含む、activation_expires列を作成することもできます。

于 2012-06-09T10:48:25.687 に答える
0

問題を解決する 1 つの方法は次のとおりです。

  1. フィールド「ステータス」を int ではなく varchar にします。

  2. 初めてユーザー情報を挿入するときは、ランダムな文字列を作成してステータス フィールドに挿入します。

  3. 作成したランダムな文字列が「lka342lkjasd8234kl2324ljklj2」だとします。文字列をパラメーターとしてリンクを送信します。

  4. スクリプトでリンクがクリックされたときに、検証文字列がステータス テーブルの値と一致することを確認します。

  5. 一致する場合は、アカウントが確認されたことを示すメッセージを表示し、フィールドの値を 1 に変更します (1 はアクティブなアカウントを示すため)。

  6. 文字列が一致しない場合は、検証リンクが間違っているというメッセージが表示されます。

別の方法で、検証文字列を格納するための別のテーブルを作成できます。ステータスフィーンドを整数にします。最初は 0 を設定し、検証時に 1 にして、新しいテーブルで検証を確認します。

于 2012-06-09T11:02:35.493 に答える