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技术构造远程服务(下)
Oct 09 PHP
用php来检测proxy
Oct 09 PHP
PHP分页函数代码(简单实用型)
Dec 02 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
PHP实现上传文件并存进数据库的方法
Jul 16 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
PHP模拟post提交数据方法汇总
Feb 16 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
cakephp常见知识点汇总
Feb 24 PHP
解决php-fpm.service not found问题的办法
Jun 06 PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 PHP
PHP 超级全局变量相关总结
Jun 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
杏林同学录(八)
2006/10/09 PHP
PHP查询快递信息的方法
2015/03/07 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
js导出txt示例代码
2014/01/14 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
mui js控制开关状态、修改switch开关的值方法
2019/09/03 Javascript
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
让 python 命令行也可以自动补全
2014/11/30 Python
python解析基于xml格式的日志文件
2017/02/25 Python
用pycharm开发django项目示例代码
2018/10/24 Python
对python:print打印时加u的含义详解
2018/12/15 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
怎么写好自荐信
2013/10/30 职场文书
婚纱店策划方案
2014/05/22 职场文书
银行求职信
2014/05/31 职场文书
施工安全责任协议书
2016/03/23 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python
Java数据结构之链表相关知识总结
2021/06/18 Java/Android