PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例


Posted in PHP onDecember 31, 2019

本文实例讲述了PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库。分享给大家供大家参考,具体如下:

<?php
header("content-type:text/html;charset=utf-8");
@$atc=$_GET['atc'];
$mem=new Memcache();
$mem->connect("127.0.0.1","11211");
if($atc=="in"){
  $res=$mem->add("login",$_POST,MEMCACHE_COMPRESSED,0);
  $meil=$mem->get("login");
  $address=$meil['address'];
  include "./PHPMailer/Mail.class.php";
  $validate=md5(md5("luyaran"));
  $url="http://www.luyaran.com/login.php?atc=jihuo&validate=".urlencode(base64_encode($validate));
  $content="<a href='{$url}'>".$url."</a>";
  if(Mail::send($content,$address)){
    echo "<script>alert('注册成功');</script>";
  }else{
    echo "<script>alert('注册失败');</script>";
  }
}else if($atc=="login"){
//登陆时需查看状态码是否激活
 include "table.html";
}else if($atc=="jihuo"){
  //验证用户名和密码是否与缓存中的一致
  include "table.html";
}else{
  include "table2.html";
}
?>
<?php
//引入原来的类文件
 require 'class.phpmailer.php';
class Mail {
    static public $error = '';
    static public function send($content,$address){
        $mail= new PHPMailer();
        /*服务器相关信息*/
        $mail->IsSMTP();         //设置使用SMTP服务器发送
        $mail->SMTPAuth = true;        //开启SMTP认证
        $mail->Host   = 'smtp.163.com';     //设置 SMTP 服务器,自己注册邮箱服务器地址
        $mail->Username  = 'm18101301805@163.com'; //发信人的邮箱名称
        $mail->Password  = 'luyaran520';  //发信人的邮箱密码
        /*内容信息*/
        $mail->IsHTML(true);      //指定邮件格式为:html 不加true默认为以text的方式进行解析
        $mail->CharSet  ="UTF-8";        //编码
        $mail->From    = 'm18101301805@163.com';      //发件人完整的邮箱名称
        //$mail->FromName  = $user;     //发信人署名
        $mail->FromName  = "崔金朋";    //发信人署名
        //$mail->Subject  = $title;       //信的标题
        $mail->Subject  = "激活显示";      //信的标题
        $mail->MsgHTML($content);        //发信主体内容
        //$mail->AddAttachment("15.jpg");    //附件
        /*发送邮件*/
        $mail->AddAddress($address);     //收件人地址
        //使用send函数进行发送
        if($mail->Send()) {
          return true;
        } else {
           self::$error=$mail->ErrorInfo;
           return  false;
        }
    }
}
?>

附:PHP操作memcache(增删改查)

<?php
header("content-type:text/html;charset=utf-8");
$mem=new Memcache();
//var_dump($mem);
$mem->connect("127.0.0.1","11211");
//$mem->set("name","cuijinpeng",0,20);
//echo $mem->get("name");
//对象的操作
//class Dog{
//  public $name;
//  public $age;
//  public function __construct($name,$age){
//    $this->name = $name;
//    $this->age = $age;
//  }
//}
//$dog=new Dog('dog','12');
//$dog=$mem->add("dog",$dog,MEMCACHE_COMPRESSED,0);
//var_dump($dog);
//可以操作数据、字符串、数组、对象。。。
//添加数据
$mem->add("name","admin",MEMCACHE_COMPRESSED,0);
//修改数据
$mem->set("name","xiaohua",MEMCACHE_COMPRESSED,0);
//replace的使用
$mem->replace("name","xiaobai",MEMCACHE_COMPRESSED,0);
//删除数据
$mem->delete("name");
//echo $mem->get("name");
?>

PS:Mail.class.php点击此处本站下载

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
让PHP支持断点续传的源码
May 16 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
php中动态变量用法实例
Jun 10 PHP
CI框架常用方法小结
May 17 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
如何用PHP做到页面注册审核
Mar 02 PHP
php中通用的excel导出方法实例
Dec 30 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 PHP
PHP新手指南
Apr 01 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 #PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 #PHP
PHP单元测试配置与使用方法详解
Dec 27 #PHP
PHP全局使用Laravel辅助函数dd
Dec 26 #PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 #PHP
PHP高并发和大流量解决方案整理
Dec 24 #PHP
thinkphp5实现微信扫码支付
Dec 23 #PHP
You might like
咖啡历史、消费和行业趋势
2021/03/03 咖啡文化
建立动态的WML站点(三)
2006/10/09 PHP
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
php引用传值实例详解学习
2013/11/06 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
javascript 学习笔记(onchange等)
2010/11/14 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
Javascript中window.name属性详解
2020/11/19 Javascript
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
Python的时间模块datetime详解
2017/04/17 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
python处理大日志文件
2019/07/23 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
C#面试常见问题
2013/02/25 面试题
介绍一下Linux中的链接
2016/05/28 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
教师旷工检讨书
2014/01/18 职场文书
商铺消防安全责任书
2014/07/29 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
土建技术员岗位职责
2015/04/11 职场文书
2015年卫生局工作总结
2015/07/24 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python