ホームページ  >  記事  >  バックエンド開発  >  ユーザー登録メールアクティベーションアカウントを実装するPHPメソッド

ユーザー登録メールアクティベーションアカウントを実装するPHPメソッド

墨辰丷
墨辰丷オリジナル
2018-05-22 09:34:541530ブラウズ

Web サイトでアカウントを登録すると、通常、アカウントをアクティブ化するためのクリックリンクが記載されたメールが届きます。この記事では、主に PHP メール アクティベーション アカウントの実装コードを紹介します。興味のある方は、それについて学ぶことができます。ウェブサイト アカウントを開設すると、通常、アカウントをアクティブ化するためのリンクが記載されたメールが届きます。今日はその方法を紹介します。

前提条件

アカウントを登録するとき、通常、ID、ユーザー名、パスワード、電子メールまたは携帯電話番号をユーザーテーブルに記録します。また、アカウントがアクティブ化されているかどうかを示すフィールドもあります。 activation varchar(50) であると仮定します。登録時には、通常、アクティベーション コードが生成され、アクティベーション コードがアクティベーション フィールドに挿入されます。 $activation_key=bin2hex(openssl_random_pseudo_bytes) を使用できます。 (16)); を生成してフィールドに挿入します。

activation varchar(50) 注册时一般都会生成一个激活码,并且把激活码插入activation字段,我们可以使用$activation_key=bin2hex(openssl_random_pseudo_bytes(16)); 来生成,并且把它插入字段。

在链接中保存激活信息

既然我们点击了邮件里的链接后,就激活了账户,那么说明这个链接里,必然储存了激活信息。而它应该储存哪些信息呢,首先,必须有激活码,还有用户注册时的邮箱或者id,我们这里用邮箱。例如下面这个链接。


复制代码 代码如下:


$message.="Activate";

$email使我们注册时的邮箱,我们用urlencode()来编码一下,将字符串用于 URL 的请求部分,$activation_keyアクティベーション情報をリンクに保存します

メール内のリンクをクリックしてアカウントをアクティベートしたため、アクティベーション情報をこのリンクに保存する必要があることを意味します。どのような情報を保存する必要がありますか? まず、登録時にアクティベーション コードとユーザーの電子メールまたは ID が必要です。たとえば、以下のリンクです。

コードをコピーします

コードは次のとおりです:

$message.=" アクティブ化< /a>" ;

$email は登録時に使用したメール アドレスです。urlencode() を使用してエンコードし、リクエスト部分に文字列を使用します。 URL の $activation_key は、生成したアクティベーション コードです。サーバーを使用してアクティベーション電子メールをこの電子メールに送信します。これは電子メール クライアントにハイパーリンクとして表示され、クリックするよう求められます。をクリックすると、電子メールが結合され、キーが activate.php ファイルに転送されます。これは、検証とアカウントのアクティブ化が開始されることを意味します。


activate.php の情報を確認します

URL リクエストを使用して、ユーザーの電子メールとアクティベーション コードを activate.php に渡します。これで、ユーザーを確認するための比較のためにデータベース内の元の情報を取得するだけで済みます。最初のステップは、アクティベーション コードを user テーブルに挿入することです。アクティブ化してから、次の手順を実行しますこの記事では、この問題の解決策のみを説明します。完全なユーザー登録、アクティブ化、ログイン、および電子メールを送信するサーバーも構成する必要があります
関連する推奨事項:

php実装ユーザー登録パスワード Crypt暗号化メソッド tDjangoはAJAXを通じてメールボックスを完成します ユーザー登録
とアカウントをアクティブ化するメソッド

AJAXはバックグラウンドデータベースにデータを送信します

以上がユーザー登録メールアクティベーションアカウントを実装するPHPメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。