总共 需 两个 页面 e register.php 和 verify.php
1. 用户 注册 表格 register.php
<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. 创建 用户 数据 表格 Usuários
CREATE TABLE IF NOT EXISTS `users` ( `Id` int (11) NOT NULL auto_increment, `Status` varchar (20) NOT NULL, `NÃO username` varchar (20) NULL, `NÃO senha` varchar (20) NULL, `NÃO` email varchar (20) 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. 创建 验证 码 用户 注册 信息 存入 数据 表
我们 使用 状态 "verificar" 来 表示 尚未 激活 的 用户.
$ Activationkey = mt_rand (). mt_rand (). mt_rand (). mt_rand (). mt_rand (); $ username = mysql_real_escape_string ($ _POST [username]); $ password = mysql_real_escape_string ($ _POST [senha]); $ email = mysql_real_escape_string ($ _POST [email]); $ sql = "INSERT INTO utilizadores (username, e-mail, senha, activationkey, status) VALUES ('$ username', '$ senha', '$ email', '$ activationkey', 'verificar') ";
4. 发送 验证 码
echo "Um e-mail foi enviada para $ _POST [email] com uma chave de ativação Por favor, verifique seu e-mail para completar o registro.".; # # Enviar e-mail de ativação $ Para = $ _POST [email]; $ Subject = "YOURWEBSITE.com Registro"; $ Mensagem = "Bem-vindo ao nosso site \ r \ ryou, ou alguém usando seu endereço de e-mail, completou registro no YOURWEBSITE.com Você pode completar o registro clicando no link a seguir:. \ Rhttp :/ www.YOURWEBSITE.com/ / verify.php $ activationkey \ r \ rSe isto é um erro, ignore este e-mail e você será removido da nossa 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 ($ para, $ assunto, $ mensagem, $ headers);
5. 验证 激活 代码 verify.php
如果 验证 码 相同, 则 激活 用户.
QueryString $ = $ _SERVER ['QUERY_STRING']; $ Query = "SELECT * FROM users"; $ Result = mysql_query ($ query) or die (mysql_error ()); while ($ linha = mysql_fetch_array ($ result)) { if ($ queryString == $ row ["activationkey"]) { echo "Parabéns!" . $ Row ["username"]. "É agora o orgulhoso proprietário de uma nova conta YOURWEBSITE.com."; $ Sql = "UPDATE users SET activationkey ='', status = 'ativado' WHERE (id = $ linha [id])"; if (! mysql_query ($ sql)) { die ('Erro:'. mysql_error ()); } / / 到 这里, 用户 已经 完全 激活 了 账号, 你 可以 将 页面 跳转 到 登陆 后 的 界面 了 } } / / Fim do tempo
