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 href="." rel="external nofollow" http://www.XXXXX.com/activate.php?email=".urlencode($email)."&key=$activation_key"."> Activate a>";
$email
は、登録時に使用したメール アドレスです。urlencode()
を使用してエンコードし、リクエストの文字列を使用します。 URL の部分 $activation_key は、サーバーを使用してこの電子メールにアクティベーション電子メールを送信します。これは電子メール クライアントにハイパーリンクとして表示され、次のことを要求します。クリックすると、電子メールとキーが activate.php ファイルに送信され、検証とアカウントのアクティブ化が開始されます。
以上がアカウントを有効にするためのPHPユーザー登録メール機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。