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中cookies使用指南
Mar 16 PHP
上传文件先创建目录 再上传到目录里面去
Dec 29 PHP
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
php求正负数数组中连续元素最大值示例
Apr 11 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
May 10 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 20 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
Feb 10 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录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
PHP语法速查表
2006/12/06 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
php使用正则验证中文
2016/04/06 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
DOM相关内容速查手册
2007/02/07 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
js禁止表单重复提交
2017/08/29 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
python实现图片筛选程序
2018/10/24 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
pybind11在Windows下的使用教程
2019/07/04 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
Python Django路径配置实现过程解析
2020/11/05 Python
护理专业毕业生自我鉴定
2013/10/08 职场文书
会议活动邀请函
2014/01/27 职场文书
报告会主持词
2014/04/02 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
创业计划书之养殖业
2019/10/11 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
详解Python中__new__方法的作用
2022/03/31 Python