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 相关文章推荐
来自phpguru得Php Cache类源码
Apr 15 PHP
PHP原理之异常机制深入分析
Aug 08 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
神盾加密解密教程(二)PHP 神盾解密
Jun 08 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
一个完整的php文件上传类实例讲解
Oct 27 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
Mar 10 PHP
通过php动态传数据到highcharts
Apr 05 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
Apr 27 PHP
PHP封装cURL工具类与应用示例
Jul 01 PHP
PHP Trait功能与用法实例分析
Jun 03 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
Smarty+QUICKFORM小小演示
2007/02/25 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
php unlink()函数使用教程
2018/07/12 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
深入理解vue中的$set
2017/06/01 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
AngularJS实现表单验证功能详解
2017/10/12 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
python类的继承实例详解
2017/03/30 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
提升Python程序性能的7个习惯
2019/04/14 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
python能做哪方面的工作
2020/06/15 Python
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
Servlet如何得到客户端机器的信息
2014/10/17 面试题
装修协议书范本
2014/04/21 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
居住证明范文
2015/06/17 职场文书