Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Methode zur Implementierung eines Benutzerregistrierungs-E-Mail-Aktivierungskontos

PHP-Methode zur Implementierung eines Benutzerregistrierungs-E-Mail-Aktivierungskontos

墨辰丷
墨辰丷Original
2018-05-22 09:34:541533Durchsuche

Wenn wir ein Konto auf einer Website registrieren, erhalten wir normalerweise eine E-Mail mit einem Link zur Aktivierung. In diesem Artikel wird hauptsächlich der Implementierungscode des PHP-E-Mail-Aktivierungskontos vorgestellt

Wenn wir ein Konto auf einer Website registrieren, erhalten wir normalerweise eine E-Mail mit einem Klicklink zur Aktivierung unseres Kontos. Heute stelle ich Ihnen eine Methode vor.

Vorbereitende Bedingungen

Wenn wir ein Konto registrieren, erfassen wir normalerweise unsere ID, unseren Benutzernamen, unser Passwort, unsere E-Mail-Adresse oder Mobiltelefonnummer in der Benutzertabelle ein Feld dafür, ob das Konto aktiviert ist oder nicht. Wir gehen davon aus, dass es bei der Registrierung für activation varchar(50) normalerweise einen Aktivierungscode generiert und den Aktivierungscode in das Aktivierungsfeld einfügt. Wir können ihn mit $activation_key=bin2hex(openssl_random_pseudo_bytes(16)); generieren und in das Feld einfügen.

Aktivierungsinformationen im Link speichern

Da wir das Konto aktiviert haben, nachdem wir auf den Link in der E-Mail geklickt haben, bedeutet das, dass die Aktivierungsinformationen in diesem Link gespeichert werden müssen. Welche Informationen sollen gespeichert werden? Zunächst müssen bei der Registrierung ein Aktivierungscode und die E-Mail-Adresse oder ID des Benutzers angegeben werden. Zum Beispiel dieser Link unten.


Code kopieren Der Code lautet wie folgt:


$message.="37975b72291f9c206b0286af829de4c1Activate5db79b134e9f6b82c0b36e0489ee08ed";

$email ist die E-Mail, die wir bei der Registrierung verwendet haben. Wir verwenden urlencode() zur Verschlüsselung und verwenden die Zeichenfolge für den Anforderungsteil der URL. $activation_key ist der von uns generierte Aktivierungscode Der Server sendet diese E-Mail. Senden Sie eine Aktivierungs-E-Mail. Diese wird als Hyperlink im E-Mail-Client angezeigt und fordert Sie zum Klicken auf. Nach dem Klicken übertragen wir die E-Mail und den Schlüssel in die Datei „activate.php“. Beginnen Sie mit der Verifizierung und aktivieren Sie das Konto.

Überprüfen Sie die Informationen in activate.php

Wir verwenden die URL-Anfrage, um die Benutzer-E-Mail und den Aktivierungscode an activate.php zu übergeben. Jetzt müssen wir nur noch die abrufen Originalinformationen in der Datenbank Durch Vergleichen der Informationen können wir den Benutzer überprüfen. Daher besteht unser erster Schritt darin, den Aktivierungscode in die Benutzertabelle einzufügen. Ich habe ein Beispiel für activate.php geschrieben:

<?php
$link=mysqli_connect("localhost", "root", "root", "project") or die("Database Access Denied");//连接数据库
if (!isset($_GET[&#39;email&#39;])||!isset($_GET["key"])){
  echo "<p class=&#39;alert alert-danger&#39;>Account Activation Failed</p>";
  exit;//如果邮件链接损坏,没有传入用户激活信息,则不执行后续步骤
}
$email=$_GET[&#39;email&#39;];
$key=$_GET[&#39;key&#39;];
$email=mysqli_real_escape_string($link, $email);
$key=mysqli_real_escape_string($link, $key);//转义特殊字符
$sql="UPDATE users SET activation=&#39;activated&#39; WHERE (user_email=&#39;$email&#39; AND activation=&#39;$key&#39;) LIMIT 1";
$result=mysqli_query($link, $sql);//查询email与key匹配的数据项,并且更新activation字段到activated
if (mysqli_affected_rows($link)==1){
  echo "<p>Account Activated</p>";
  echo &#39;<a href="index.php" rel="external nofollow" type="button">Login</a>&#39;;
  echo "<br/>";
}else{
  echo "<p>Account Activation Failed Or Already Activated</p>";
}
?>

Jetzt ist das Konto aktiviert. Beim Anmelden prüft der Benutzer zunächst, ob die Aktivierung aktiviert ist, und fährt dann mit den folgenden Schritten fort

Dieser Artikel behandelt nur die Lösung hierfür Problem, eine vollständige Benutzerregistrierung, Aktivierung, Anmeldung und der Server für den E-Mail-Versand sollten ebenfalls konfiguriert werden

Verwandte Empfehlungen:

PHP-Implementierung der Benutzerregistrierung Krypto-Verschlüsselungsmethode für Passwort

Django vervollständigt E-Mails über AjaxBenutzerregistrierung, Methode zur Kontoaktivierung

ajax übermittelt Daten an Benutzerregistrierung

wird nach dem Hintergrund implementiert Datenbank

Das obige ist der detaillierte Inhalt vonPHP-Methode zur Implementierung eines Benutzerregistrierungs-E-Mail-Aktivierungskontos. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn