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 相关文章推荐
PHP5 安装方法
Oct 09 PHP
php获得文件扩展名三法
Nov 25 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
Oct 12 PHP
php入门学习知识点五 关于php数组的几个基本操作
Jul 14 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
Jun 08 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
析构函数与php的垃圾回收机制详解
Oct 28 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
PHP5.2中PDO的简单使用方法
Mar 25 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
利用laravel搭建一个迷你博客实战教程
Aug 13 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数组应用之比较两个时间的相减排序
2008/08/18 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
JavaScript中实现块作用域的方法
2010/04/01 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
document.getElementById介绍
2011/09/13 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
Python中的rfind()方法使用详解
2015/05/19 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
python学生管理系统学习笔记
2019/03/19 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
python支持多线程的爬虫实例
2019/12/21 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
法律专业应届生自荐信范文
2014/01/06 职场文书
房地产营销策划方案
2014/02/08 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
股东合作协议书
2014/04/14 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书