Heim > Backend-Entwicklung > PHP-Tutorial > 用Php编写注册后Email激活验证的实例代码_PHP教程

用Php编写注册后Email激活验证的实例代码_PHP教程

WBOY
Freigeben: 2016-07-21 15:12:10
Original
1181 Leute haben es durchsucht

总共需两个页面,register.php 和 verify.php

1. 用户注册表格 register.php

复制代码 代码如下:

 

 

  

      用户名:

      密码:

      电子邮件:

     

  

 

 

2. 创建用户数据表格 Users

复制代码 代码如下:

 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. 创建验证码 用户注册信息存入数据表
我们使用状态‘verify' 来表示尚未激活的用户。

复制代码 代码如下:

 $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 ('$username', '$password', '$email', '$activationKey', 'verify')";

4. 发送验证码

复制代码 代码如下:

 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 = 'From: noreply@ YOURWEBSITE.com' . "\r\n" .  

     'Reply-To: noreply@ YOURWEBSITE.com' . "\r\n" .  

     'X-Mailer: PHP/' . phpversion();  

 mail($to, $subject, $message, $headers);

5. 验证激活代码 verify.php
如果验证码相同,则激活用户。

复制代码 代码如下:

 $queryString = $_SERVER['QUERY_STRING'];

 $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 = '', status='activated' WHERE (id = $row[id])";         

        if (!mysql_query($sql)) {

           die('Error: ' . mysql_error());

        }          

         // 到这里,用户已经完全激活了账号,你可以将页面跳转到登陆后的界面了  

     }

   } // end of while

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/326740.htmlTechArticle总共需两个页面,register.php 和 verify.php 1. 用户注册表格 register.php 复制代码 代码如下: html body form action="register.php" method="post" name="register"...
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage