Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielcode für die PHP-Aktivierung und Verifizierung per E-Mail nach der Registrierung

Beispielcode für die PHP-Aktivierung und Verifizierung per E-Mail nach der Registrierung

怪我咯
怪我咯Original
2017-07-07 10:24:181446Durchsuche

Durch die Verwendung der Aktivierungsmethode für die E-Mail-Verifizierung können Sie den Zugriff bösartiger Spam- und Registrierungsroboter wirksam verhindern. Es ist sehr einfach, PHP zu verwenden, um die E-Mail-Verifizierungs- und Aktivierungsschritte nach der Registrierung zu schreiben. Ich glaube, Sie können es in wenigen Minuten lernen.

Es sind insgesamt zwei Seiten erforderlich, register.php und verify.php

1 BenutzerregistrierungFormular register.php

Der Code lautet wie folgt:

 <html>
 <body>
   <form action="register.php" method="post" name="register">
      用户名:<input type="text" name="username" />
      密码:<input type="password" name="password" />
      电子邮件:<input type="text" name="email" />
      <input type="submit" value="注册" />
   </form>
 </body>
 </html>

2. Benutzerdatentabelle Benutzer erstellen

Der Code lautet wie folgt:

 CREATE TABLE IF NOT EXISTS `users` (
   `id` int(11) NOT NULL auto_increment,
   `status` varchar(20) NOT NULL,
   `username` varchar(20) NOT NULL,
   `password` varchar(20) NOT NULL,
   `email` varchar(20) NOT NULL,
   `activationkey` varchar(100) NOT NULL,
   PRIMARY KEY  (`id`),
   UNIQUE KEY `username` (`username`),
   UNIQUE KEY `email` (`email`),
   UNIQUE KEY `activationkey` (`activationkey`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

3. Erstellen Sie einen Bestätigungscode und speichern Sie ihn Benutzerregistrierungsinformationen in der Datentabelle
Wir verwenden den Status „Verifizieren“, um Benutzer darzustellen, die noch nicht aktiviert wurden.

Der Code lautet wie folgt:

$activationKey =  mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand();
 $username = mysql_real_escape_string($_POST[username]);
 $password = mysql_real_escape_string($_POST[password]);
 $email = mysql_real_escape_string($_POST[email]);  
 $sql="INSERT INTO users (username, password, email, activationkey, status) VALUES (&#39;$username&#39;, &#39;$password&#39;, &#39;$email&#39;, &#39;$activationKey&#39;, &#39;verify&#39;)";

4. Senden Sie den Bestätigungscode

Der Code lautet wie folgt:

 echo "An email has been sent to $_POST[email] with an activation key. Please check your mail to complete registration.";
 ##Send activation Email
 $to      = $_POST[email];
 $subject = " YOURWEBSITE.com Registration";
 $message = "Welcome to our website!\r\rYou, or someone using your email address, has completed registration at YOURWEBSITE.com. You can complete registration by clicking the following link:\rhttp://www.YOURWEBSITE.com/verify.php?$activationKey\r\rIf this is an error, ignore this email and you will be removed from our mailing list.\r\rRegards,\ YOURWEBSITE.com Team";
 $headers = &#39;From: noreply@ YOURWEBSITE.com&#39; . "\r\n" .  
     &#39;Reply-To: noreply@ YOURWEBSITE.com&#39; . "\r\n" .  
     &#39;X-Mailer: PHP/&#39; . phpversion();  
 mail($to, $subject, $message, $headers);

5. Überprüfen Sie den Aktivierungscode, überprüfen Sie .php.
Wenn die Bestätigungscodes identisch sind, aktivieren Sie den Benutzer.

Der Code lautet wie folgt:

 $queryString = $_SERVER[&#39;QUERY_STRING&#39;];
 $query = "SELECT * FROM users";
 $result = mysql_query($query) or die(mysql_error());
 while($row = mysql_fetch_array($result)){  
     if ($queryString == $row["activationkey"]){
        echo "Congratulations!" . $row["username"] . " is now the proud new owner of a YOURWEBSITE.com account.";
        $sql="UPDATE users SET activationkey = &#39;&#39;, status=&#39;activated&#39; WHERE (id = $row[id])";         
        if (!mysql_query($sql)) {
           die(&#39;Error: &#39; . mysql_error());
        }          
         // 到这里,用户已经完全激活了账号,你可以将页面跳转到登陆后的界面了  
     }
   } // end of while

Das obige ist der detaillierte Inhalt vonBeispielcode für die PHP-Aktivierung und Verifizierung per E-Mail nach der Registrierung. 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