邮件激活账号(pdo)
来源:互联网 发布:北京信息科技大学网络 编辑:程序博客网 时间:2024/06/04 17:44
<?php
header('content-type:text/html;charset=utf-8');
//引入文件
include_once('./Mail.class.php');
//接值
$act=isset($_GET['act']) ? $_GET['act'] : "";
//实例化pdo
$pdo=new PDO('mysql:host=localhost;dbname=optimize','root','root');
//设置字符集
$pdo->exec('set names utf8');
//判断
if($act=='register'){
//接值
$username=isset($_POST['username']) ? $_POST['username'] : "";
$password=isset($_POST['password']) ? $_POST['password'] : "";
$question=isset($_POST['question']) ? $_POST['question'] : "";
$email=isset($_POST['email']) ? $_POST['email'] : "";
$answer=isset($_POST['answer']) ? $_POST['answer'] : "";
$validate=uniqid();
$time=time();
//sql语句
$sql="insert into `user` values(null,'$username','$password','$question','$answer','0','$validate','$time')";
//执行
if($pdo->exec($sql)){
//用户id
$user_id=$pdo->lastInsertId();
//定义发送邮件的参数
$title="账号激活邮件";
$user="××客服";
$address=$email;
$url="http://localhost/Optimize/day18/index.php?act=jihuo&".MD5('username')."=".urlencode($username)."&".MD5('id')."=".urlencode($user_id)."&".MD5('validate')."=".urlencode($validate)."&".MD5('time')."=".$time;
$content="请于24时内点击以下链接进行账号激活"."<a href='$url'>$url</a>";
if(Mail::send($title,$content,$user,$address)){
echo "恭喜你注册成功!请于24时内进行账号<a href='https://mail.qq.com'>激活</a>";
}else{
echo "请重新注册";
}
}else{
echo "入库失败";
}
}elseif($act=='jihuo'){
//调用自定义函数
activate();
}elseif($act=='login'){
echo "hello";
}else{
include_once('./register.html');
}
/**
* 激活
*
* @author YING
* @param void
* @return bool
*/
function activate(){
//接值
$username=$_GET[MD5('username')];
$id=$_GET[MD5('id')];
$validate=$_GET[MD5('validate')];
$time=$_GET[MD5('time')];
//实例化pdo
$pdo=new PDO('mysql:host=localhost;dbname=optimize','root','root');
//设置字符集
$pdo->exec('set names utf8');
//sql语句
$sql="select * from `user` where `id`='$id'";
//执行
$user_info=$pdo->query($sql)->fetch(PDO::FETCH_ASSOC);
//判断是否已激活
if($user_info['static']=='1'){
echo "您的账户已经激活成功,请登录";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=login");
die;
}
//判断是否已过期
if(time()-$time>24*60){
echo "您的账户已经激活已过期,请重新注册";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=register");
die;
}
//判断激活码是否正确
if($user_info['validate']==$validate){
//sql修改状态
$sql="update `user` set `static`='1' where `id`='$id'";
//执行
if($pdo->exec($sql)){
echo "您的账户激活成功,请登录";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=login");
die;
}else{
echo "您的账户激活失败,请重新注册";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=register");
die;
}
}else{
echo "您的账户已经激活码错误,请重新注册";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=register");
die;
}
}
?>
header('content-type:text/html;charset=utf-8');
//引入文件
include_once('./Mail.class.php');
//接值
$act=isset($_GET['act']) ? $_GET['act'] : "";
//实例化pdo
$pdo=new PDO('mysql:host=localhost;dbname=optimize','root','root');
//设置字符集
$pdo->exec('set names utf8');
//判断
if($act=='register'){
//接值
$username=isset($_POST['username']) ? $_POST['username'] : "";
$password=isset($_POST['password']) ? $_POST['password'] : "";
$question=isset($_POST['question']) ? $_POST['question'] : "";
$email=isset($_POST['email']) ? $_POST['email'] : "";
$answer=isset($_POST['answer']) ? $_POST['answer'] : "";
$validate=uniqid();
$time=time();
//sql语句
$sql="insert into `user` values(null,'$username','$password','$question','$answer','0','$validate','$time')";
//执行
if($pdo->exec($sql)){
//用户id
$user_id=$pdo->lastInsertId();
//定义发送邮件的参数
$title="账号激活邮件";
$user="××客服";
$address=$email;
$url="http://localhost/Optimize/day18/index.php?act=jihuo&".MD5('username')."=".urlencode($username)."&".MD5('id')."=".urlencode($user_id)."&".MD5('validate')."=".urlencode($validate)."&".MD5('time')."=".$time;
$content="请于24时内点击以下链接进行账号激活"."<a href='$url'>$url</a>";
if(Mail::send($title,$content,$user,$address)){
echo "恭喜你注册成功!请于24时内进行账号<a href='https://mail.qq.com'>激活</a>";
}else{
echo "请重新注册";
}
}else{
echo "入库失败";
}
}elseif($act=='jihuo'){
//调用自定义函数
activate();
}elseif($act=='login'){
echo "hello";
}else{
include_once('./register.html');
}
/**
* 激活
*
* @author YING
* @param void
* @return bool
*/
function activate(){
//接值
$username=$_GET[MD5('username')];
$id=$_GET[MD5('id')];
$validate=$_GET[MD5('validate')];
$time=$_GET[MD5('time')];
//实例化pdo
$pdo=new PDO('mysql:host=localhost;dbname=optimize','root','root');
//设置字符集
$pdo->exec('set names utf8');
//sql语句
$sql="select * from `user` where `id`='$id'";
//执行
$user_info=$pdo->query($sql)->fetch(PDO::FETCH_ASSOC);
//判断是否已激活
if($user_info['static']=='1'){
echo "您的账户已经激活成功,请登录";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=login");
die;
}
//判断是否已过期
if(time()-$time>24*60){
echo "您的账户已经激活已过期,请重新注册";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=register");
die;
}
//判断激活码是否正确
if($user_info['validate']==$validate){
//sql修改状态
$sql="update `user` set `static`='1' where `id`='$id'";
//执行
if($pdo->exec($sql)){
echo "您的账户激活成功,请登录";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=login");
die;
}else{
echo "您的账户激活失败,请重新注册";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=register");
die;
}
}else{
echo "您的账户已经激活码错误,请重新注册";
header("refresh:3;url=http://localhost/Optimize/day18/index.php?act=register");
die;
}
}
?>
0 0
- 邮件激活账号(pdo)
- 邮件激活账号
- Email 邮件方式激活注册账号
- php发邮件来激活账号
- 使用Laravel发送账号激活邮件
- 使用Laravel发送账号激活邮件
- 演示账号激活的过程:注册——>向指定邮箱发送邮件——>用户登录邮箱,激活账号
- 调用自己所写邮件类 发送邮件进行简单的激活账号
- 邮件激活
- 邮件激活
- 邮件激活
- 邮件修改密码(pdo)
- 实现邮箱激活账号
- javaMail账号激活
- 注册邮箱验证激活账号
- 实现邮箱激活账号功能
- 点击邮箱链接激活账号
- 账号注册邮箱激活设计
- 给定一个N,求1-N之间有多少可以输出的数。
- java反射
- 《程序员》Part1 2009年真题上
- binuitls工具集
- 最新VIN(车辆识别码)解析
- 邮件激活账号(pdo)
- Android自定义UI开发之——Measure
- IN和EXISTS、not in 和not exists的效率详解
- [从头学数学] 第268节 [计算几何] 环形路径
- 【leetcode】34. Search for a Range
- 数字String转换成int
- 在iOS开发中怎么对单个.mm文件设置ARC编译选项
- 1.21
- golang 通过loginauth方式发送加密邮件