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读取xml实例代码
Jan 28 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
PHP检测用户语言的方法
Jun 15 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
thinkPHP中多维数组的遍历方法
Jan 09 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
php递归函数怎么用才有效
Feb 24 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 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 array_flip() 删除数组重复元素
2009/01/14 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
JS文本框默认值处理详解
2013/07/10 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
python list语法学习(带例子)
2013/11/01 Python
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
Python中的ctime()方法使用教程
2015/05/22 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
详解python播放音频的三种方法
2019/09/23 Python
pycharm安装及如何导入numpy
2020/04/03 Python
python怎么删除缓存文件
2020/07/19 Python
python批量修改文件名的示例
2020/09/27 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
秘书专业自荐信范文
2013/12/26 职场文书
申请任职学生会干部自荐书范文
2014/02/13 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
村委会贫困证明范本
2014/09/17 职场文书
创业计划书之寿司
2019/07/19 职场文书