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正则走开
Mar 15 PHP
PHP中用header图片地址 简单隐藏图片源地址
Apr 09 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 PHP
php代码审计比较有意思的例子
May 07 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
PHP实现原比例生成缩略图的方法
Feb 03 PHP
PHP编写RESTful接口
Feb 23 PHP
php实现简单爬虫的开发
Mar 28 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
PHP convert_cyr_string()函数讲解
Feb 13 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 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批量生成静态HTML的简单原理和方法
2014/04/20 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
WxPython实现无边框界面
2019/11/18 Python
python 基于opencv实现图像增强
2020/12/23 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
户外活动总结范文
2014/04/30 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
看雷锋电影观后感
2015/06/10 职场文书
OpenCV-Python实现轮廓的特征值
2021/06/09 Python
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL