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原理之错误抑制与内嵌HTML分析
May 02 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
PHP缓存技术的使用说明
Aug 06 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
php使用反射插入对象示例分享
Mar 11 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
PHP使用range协议实现输出文件断点续传代码实例
Jul 04 PHP
实现PHP框架系列文章(6)mysql数据库方法
Mar 04 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 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
在普通HTTP上安全地传输密码
2007/07/21 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
JS支持带x身份证号码验证函数
2008/08/10 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
2017/07/03 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
js实现缓动动画
2020/11/25 Javascript
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
Python中list初始化方法示例
2016/09/18 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
Python中Qslider控件实操详解
2021/02/20 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
升学宴学生致辞
2015/07/27 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书