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 相关文章推荐
杏林同学录(九)
Oct 09 PHP
php的一个登录的类 [推荐]
Mar 16 PHP
PHP 批量删除 sql语句
Jun 05 PHP
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 PHP
php根据用户语言跳转相应网页
Nov 04 PHP
详解PHP执行定时任务的实现思路
Dec 21 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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 无极分类(递归)实现代码
2010/01/05 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
微信小程序 中wx.chooseAddress(OBJECT)实例详解
2017/03/31 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
python简单实现获取当前时间
2016/08/27 Python
Python标准库shutil用法实例详解
2018/08/13 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
Django 批量插入数据的实现方法
2020/01/12 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
银行服务感言
2014/03/01 职场文书
服装采购员岗位职责
2014/03/15 职场文书
学习雷锋活动总结
2014/04/29 职场文书
小班幼儿评语大全
2014/04/30 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
个人专业技术总结
2015/03/05 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
用Python selenium实现淘宝抢单机器人
2021/06/18 Python
Python基于百度AI实现抓取表情包
2021/06/27 Python