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 相关文章推荐
JAVA/JSP学习系列之六
Oct 09 PHP
php生成随机数或者字符串的代码
Sep 05 PHP
php下将XML转换为数组
Jan 01 PHP
PHP 面向对象 PHP5 中的常量
May 05 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
php设计模式 FlyWeight (享元模式)
Jun 26 PHP
php实现的click captcha点击验证码类实例
Sep 23 PHP
php中try catch捕获异常实例详解
Nov 21 PHP
php内嵌函数用法实例
Mar 20 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 PHP
php获取POST数据的三种方法实例详解
Dec 20 PHP
php 7新特性之类型申明详解
Jun 06 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
php 动态执行带有参数的类方法
2009/04/10 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
php常量详细解析
2015/10/27 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
python比较2个xml内容的方法
2015/05/11 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
python实现超市扫码仪计费
2018/05/30 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
最新的互联网创业计划书
2014/01/10 职场文书
初一学生评语大全
2014/04/24 职场文书
考核评语大全
2014/04/29 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
道歉信怎么写
2015/05/12 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python