PHP利用緩存處理用戶注冊時的郵箱驗證,成功后用戶數(shù)據(jù)存入數(shù)據(jù)庫操作示例
本文實例講述了PHP利用緩存處理用戶注冊時的郵箱驗證,成功后用戶數(shù)據(jù)存入數(shù)據(jù)庫。分享給大家供大家參考,具體如下:
<?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"){
//登陸時需查看狀態(tài)碼是否激活
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服務器發(fā)送
$mail->SMTPAuth = true; //開啟SMTP認證
$mail->Host = 'smtp.163.com'; //設置 SMTP 服務器,自己注冊郵箱服務器地址
$mail->Username = 'm18101301805@163.com'; //發(fā)信人的郵箱名稱
$mail->Password = 'luyaran520'; //發(fā)信人的郵箱密碼
/*內(nèi)容信息*/
$mail->IsHTML(true); //指定郵件格式為:html 不加true默認為以text的方式進行解析
$mail->CharSet ="UTF-8"; //編碼
$mail->From = 'm18101301805@163.com'; //發(fā)件人完整的郵箱名稱
//$mail->FromName = $user; //發(fā)信人署名
$mail->FromName = "崔金朋"; //發(fā)信人署名
//$mail->Subject = $title; //信的標題
$mail->Subject = "激活顯示"; //信的標題
$mail->MsgHTML($content); //發(fā)信主體內(nèi)容
//$mail->AddAttachment("15.jpg"); //附件
/*發(fā)送郵件*/
$mail->AddAddress($address); //收件人地址
//使用send函數(shù)進行發(fā)送
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);
//可以操作數(shù)據(jù)、字符串、數(shù)組、對象。。。
//添加數(shù)據(jù)
$mem->add("name","admin",MEMCACHE_COMPRESSED,0);
//修改數(shù)據(jù)
$mem->set("name","xiaohua",MEMCACHE_COMPRESSED,0);
//replace的使用
$mem->replace("name","xiaobai",MEMCACHE_COMPRESSED,0);
//刪除數(shù)據(jù)
$mem->delete("name");
//echo $mem->get("name");
?>
PS:Mail.class.php點擊此處本站下載。
更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《php緩存技術總結(jié)》、《php面向?qū)ο蟪绦蛟O計入門教程》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
PHP設計模式之工廠模式(Factory Pattern)的講解
今天小編就為大家分享一篇關于PHP設計模式之工廠模式(Factory Pattern)的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
header函數(shù)設置響應頭解決php跨域問題實例詳解
在本篇文章里小編給大家整理的是關于header函數(shù)設置響應頭解決php跨域問題實例內(nèi)容,有需要的朋友們可以參考下。2020-01-01
Lumen timezone 時區(qū)設置方法(慢了8個小時)
今天用 Lumen 框架寫代碼時, 也是初次體驗 Lumen, 遇到了一個問題, 從數(shù)據(jù)庫里查出的時間比數(shù)據(jù)庫里保存的 TIMESTAMP 時間慢了8個小時, 很明顯這是一個時區(qū)設置的問題, 本以為可以在1分鐘內(nèi)解決的, 但是我錯了2018-01-01
php中file_get_contents()函數(shù)用法實例
在本文中我們給大家整理了關于php中file_get_contents()函數(shù)的相關用法,需要的朋友們學習參考下。2019-02-02

