PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例

yipeiwu_com6年前PHP代码库

本文实例讲述了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.***.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  = '***@163.com'; //发信人的邮箱名称
        $mail->Password  = 'www.yipeiwu.com';  //发信人的邮箱密码
        /*内容信息*/
        $mail->IsHTML(true);      //指定邮件格式为:html 不加true默认为以text的方式进行解析
        $mail->CharSet  ="UTF-8";        //编码
        $mail->From    = '***@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");
?>


标签: 发送邮件

相关文章

解析php函数method_exists()与is_callable()的区别

php函数method_exists() 与is_callable()的区别在哪?在php面相对象设计过程中,往往我们需要在调用某一个方法是否属于某一个类的时候做出判断,常用的方法有 m...

PHP中使用数组实现堆栈数据结构的代码

在堆栈中,最后压入的数据(进栈),将会被最先弹出(出栈)。 即在数据存储时采用“先进后出”的数据结构。 PHP中,将数组当做一个栈,主要是使用array_push()和array_pop...

关于PHP中Object对象的笔记分享

1.当将所有实例设为null,php会自动清除对象的引用。 2.建构子:__construct() 清除对象时自动执行的方法:__destruct() 也可以设置手动清除对象的方法:de...

PHP+redis实现微博的拉模型案例详解

本文实例讲述了PHP+redis实现微博的拉模型。分享给大家供大家参考,具体如下: 上回写了一篇推模型的内容,这回分享一篇拉模型的内容。 拉模型 拉模型就是展示微博的时候,获取自己的所有...

PHP字符串比较函数strcmp()和strcasecmp()使用总结

比较字符串是任何编程语言的字符串处理功能中重要的特性之一。在PHP中除了可以使用比较运算符号(==、<或>)加以比较外,还提供了一系列的比较函数,使PHP可以进行更复杂的字符...