亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 建站經驗 > 正文

PHP結合jQuery實現找回密碼

2024-04-25 20:39:46
字體:
來源:轉載
供稿:網友

通常所說的密碼找回功能不是真的能把忘記的密碼找回,因為我們的密碼是加密保存的,一般開發者會在驗證用戶信息后通過程序生成一個新密碼或者生成一個特定的鏈接并發送郵件到用戶郵箱,用戶從郵箱鏈接到網站的重置密碼模塊重新設置新密碼。

當然現在有的網站也有手機短信的方式找回密碼,原理就是通過發送驗證碼來驗明正身,和發送郵件驗證一樣,最終還是要通過重置密碼來完成找回密碼的流程。

一般步驟是:

1.表單輸入注冊時的郵箱;

2.驗證用戶郵箱是否正確,如果用戶郵箱不存在網站的用戶表中,則提示用戶郵箱未注冊;

3.發送郵件,如果用戶郵箱確實存在用戶表中,則組合用于驗證用戶信息的字符串,并構造URL發送到用戶郵箱中;

4.用戶登錄郵箱收取郵件,點擊URL鏈接到網站驗證程序;

5.網站程序通過用戶請求的字符串查詢本地用戶表,比對用戶信息是否正確;

6.如果正確則轉到重置密碼頁面重新設置新密碼,反之則提示用戶驗證無效。

HTML

我們在找回密碼的頁面上放置一個要求用戶輸入注冊時所用的郵箱,然后提交前臺js來處理交互。

<p><strong>輸入您注冊的電子郵箱,找回密碼:</strong></p>

<p><input type="text" class="input" name="email" id="email"><span id="chkmsg"></span></p>

<p><input type="button" class="btn" id="sub_btn" value="提 交"></p>

jQuery

當用戶輸入完郵箱并點擊提交后,jQuery先驗證郵箱格式是否正確,如果正確則通過向后臺sendmail.php發送Ajax請求,sendmail.php負責驗證郵箱是否存在和發送郵件,并會返回相應的處理結果給前臺頁面,請看jQuery代碼:

$(function(){

$("#sub_btn").click(function(){

var email = $("#email").val();

var preg = /^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*/; //匹配Email

if(email=='' || !preg.test(email)){

$("#chkmsg").html("請填寫正確的郵箱!");

}else{

$("#sub_btn").attr("disabled","disabled").val('提交中..').css("cursor","default");

$.post("sendmail.php",{mail:email},function(msg){

if(msg=="noreg"){

$("#chkmsg").html("該郵箱尚未注冊!");

$("#sub_btn").removeAttr("disabled").val('提 交').css("cursor","pointer");

}else{

$(".demo").html("<h3>"+msg+"</h3>");

}

});

}

});

})

以上使用的jQuery代碼很方便簡潔的完成了前端交互操作,如果您有一定的jQuery基礎,那上面的代碼一目了然,不多解釋。

當然別忘了在頁面中加載jQuery庫文件,有的同學經常問我說從jb51.net下載了demo怎么用不了,那80%是jquery或者其他文件加載路徑錯了導致沒加載必要的文件。

PHP

sendmail.php需要驗證Email是否存在系統用戶表中,如果有,則讀取用戶信息,將用戶id、用戶名和密碼驚醒md5加密生成一個特別的字符串作為找回密碼的驗證碼,然后構造URL。同時我們為了控制URL鏈接的時效性,將記錄用戶提交找回密碼動作的操作時間,最后調用郵件發送類發送郵件到用戶郵箱,發送郵件類smtp.class.php已經打包好,請下載。

include_once("connect.php");//連接數據庫

$email = stripslashes(trim($_POST['mail']));

$sql = "select id,username,password from `t_user` where `email`='$email'";

$query = mysql_query($sql);

$num = mysql_num_rows($query);

if($num==0){//該郵箱尚未注冊!

echo 'noreg';

exit;

}else{

$row = mysql_fetch_array($query);

$getpasstime = time();

$uid = $row['id'];

$token = md5($uid.$row['username'].$row['password']);//組合驗證碼

$url = "http://www.jb51.net/demo/resetpass/reset.php?email=".$email."

&token=".$token;//構造URL

$time = date('Y-m-d H:i');

$result = sendmail($time,$email,$url);

if($result==1){//郵件發送成功

$msg = '系統已向您的郵箱發送了一封郵件<br/>請登錄到您的郵箱及時重置您的密碼!';

//更新數據發送時間

mysql_query("update `t_user` set `getpasstime`='$getpasstime' where id='$uid '");

}else{

$msg = $result;

}

echo $msg;

}

//發送郵件

function sendmail($time,$email,$url){

include_once("smtp.class.php");

$smtpserver = ""; //SMTP服務器,如smtp.163.com

$smtpserverport = 25; //SMTP服務器端口

$smtpusermail = ""; //SMTP服務器的用戶郵箱

$smtpuser = ""; //SMTP服務器的用戶帳號

$smtppass = ""; //SMTP服務器的用戶密碼

$smtp = new Smtp($smtpserver, $smtpserverport, true, $smtpuser, $smtppass);

//這里面的一個true是表示使用身份驗證,否則不使用身份驗證.

$emailtype = "HTML"; //信件類型,文本:text;網頁:HTML

$smtpemailto = $email;

$smtpemailfrom = $smtpusermail;

$emailsubject = "jb51.net - 找回密碼";

$emailbody = "親愛的".$email.":<br/>您在".$time."提交了找回密碼請求。請點擊下面的鏈接重置密碼

(按鈕24小時內有效)。<br/><a href='".$url."'target='_blank'>".$url."</a>";

$rs = $smtp->sendmail($smtpemailto, $smtpemailfrom, $emailsubject, $emailbody, $emailtype);

return $rs;

}

好了,這個時候你的郵箱將會收到一封來自helloweba的密碼找回郵件,郵件內容中有一個URL鏈接,點擊該鏈接到jb51.net的reset.php來驗證郵箱。

include_once("connect.php");//連接數據庫

$token = stripslashes(trim($_GET['token']));

$email = stripslashes(trim($_GET['email']));

$sql = "select * from `t_user` where email='$email'";

$query = mysql_query($sql);

$row = mysql_fetch_array($query);

if($row){

$mt = md5($row['id'].$row['username'].$row['password']);

if($mt==$token){

if(time()-$row['getpasstime']>24*60*60){

$msg = '該鏈接已過期!';

}else{

//重置密碼...

$msg = '請重新設置密碼,顯示重置密碼表單,<br/>這里只是演示,略過。';

}

}else{

$msg = '無效的鏈接';

}

}else{

$msg = '錯誤的鏈接!';

}

echo $msg;

reset.php首先接受參數email和token,然后根據email查詢數據表t_user中是否存在該Email,如果存在則獲取該用戶的信息,并且和sendmail.php中的token組合方式一樣構建token值,然后與url傳過來的token進行對比,如果當前時間與發送郵件時的時間相差超過24小時的,則提示“該鏈接已過期!”,反之,則說明鏈接有效,并且調轉到重置密碼頁面,最后就是用戶自己設置新密碼了。

小結:通過注冊郵箱驗證與本文郵件找回密碼,我們知道發送郵件在網站開發中的應用以及它的重要性,當然,現在也流行短信驗證應用,這個需要相關的短信接口對接就可以了。

最后,附上數據表t_user結構:

CREATE TABLE `t_user` (

`id` int(11) NOT NULL auto_increment,

`username` varchar(30) NOT NULL,

`password` varchar(32) NOT NULL,

`email` varchar(50) NOT NULL,

`getpasstime` int(10) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av观看网址| 欧美激情一二三| 国产成人精品国内自产拍免费看| 亚洲电影免费观看高清完整版| 日韩成人在线电影网| 欧美高清在线播放| 亚洲男人的天堂在线播放| 日本高清视频一区| 日韩中文字幕视频在线| 揄拍成人国产精品视频| 亚洲视频在线播放| 啪一啪鲁一鲁2019在线视频| 96精品久久久久中文字幕| 国产九九精品视频| 欧美日韩在线第一页| 国产午夜精品视频免费不卡69堂| 午夜剧场成人观在线视频免费观看| 欧美成人性色生活仑片| 97国产精品视频人人做人人爱| 久久精品国产清自在天天线| 亚洲精品视频在线播放| 97在线看免费观看视频在线观看| 热久久这里只有精品| 日本成人在线视频网址| 日本午夜人人精品| 2019亚洲男人天堂| 国产69精品久久久久99| 日韩高清人体午夜| 久久综合久中文字幕青草| 亚洲高清不卡av| 久久视频精品在线| 亚洲一区国产精品| 国产z一区二区三区| 亚洲一区二区中文| 国产精品免费一区二区三区都可以| 欧美亚洲在线视频| 欧美日韩加勒比精品一区| 成人写真福利网| 免费av一区二区| 亚洲欧美激情在线视频| 国产精品看片资源| 亚洲精品97久久| 亚洲欧美国产一区二区三区| 欧美成人性色生活仑片| 91网站在线看| 亚洲自拍小视频免费观看| 亚洲第一精品夜夜躁人人躁| 久久人体大胆视频| 亚洲成人精品在线| 欧美午夜精品久久久久久人妖| 国产欧美日韩亚洲精品| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲精品狠狠操| 一区二区中文字幕| 91精品啪aⅴ在线观看国产| 国产精品香蕉av| 日韩高清欧美高清| 日韩电视剧在线观看免费网站| 国产剧情日韩欧美| 国产丝袜高跟一区| 在线免费观看羞羞视频一区二区| 成人免费直播live| 亚洲aaaaaa| 久久久精品亚洲| 色与欲影视天天看综合网| 亚洲国产美女精品久久久久∴| 97涩涩爰在线观看亚洲| 国产精品自拍网| 日本久久精品视频| 精品日本美女福利在线观看| 国产va免费精品高清在线观看| 欧美www在线| 不卡中文字幕av| 亚洲国产欧美一区二区三区同亚洲| 色中色综合影院手机版在线观看| 成人在线免费观看视视频| 91精品国产自产在线观看永久| 精品国产一区二区三区久久久| 亚洲精品一二区| 成人性生交大片免费看小说| 91社区国产高清| 一区二区av在线| 国产成人精品a视频一区www| 国产成人中文字幕| 国产精品爱啪在线线免费观看| 亚洲va码欧洲m码| 97久久精品在线| 日韩欧美中文第一页| 久久九九有精品国产23| 久久久久久久国产| 亚洲国产日韩欧美综合久久| 人人爽久久涩噜噜噜网站| 亚洲精品国产福利| 国产精品爽黄69天堂a| 高清日韩电视剧大全免费播放在线观看| 国产日韩欧美在线看| 国产伊人精品在线| 国产999精品久久久影片官网| 亚洲一区制服诱惑| 久久99精品国产99久久6尤物| 欧美乱大交xxxxx| 日韩精品一二三四区| 久久69精品久久久久久久电影好| 成人午夜激情网| 日韩高清有码在线| 久久精品国产亚洲7777| 91国语精品自产拍在线观看性色| 国内免费久久久久久久久久久| 成人免费激情视频| 国产成人精品免高潮费视频| 亚洲视频999| 国内精品视频在线| 精品国产乱码久久久久久天美| 国产精品高潮粉嫩av| 成人免费福利视频| 国产精品情侣自拍| 91在线观看免费高清完整版在线观看| 91久久精品美女高潮| 伊是香蕉大人久久| 亚洲美女在线视频| 亚洲欧美日韩久久久久久| 色妞欧美日韩在线| 欧美日韩一区二区免费视频| 亚洲人高潮女人毛茸茸| 国产欧美精品一区二区| 欧美激情成人在线视频| 日韩视频免费在线观看| 91久久久久久久久久久| 亚洲欧美国产日韩中文字幕| 国产福利精品在线| xvideos亚洲人网站| 国产成人欧美在线观看| 综合久久五月天| 久久网福利资源网站| 91九色在线视频| 97精品国产91久久久久久| 热久久美女精品天天吊色| 日韩久久免费电影| 亚洲福利视频在线| 久久天堂av综合合色| 欧美另类暴力丝袜| 亚洲最大成人免费视频| 亚洲激情第一页| 国产精品影片在线观看| 亚洲毛片在线看| 精品国产精品三级精品av网址| 北条麻妃一区二区在线观看| 91高清视频免费| 国产一区二区三区在线免费观看| 国产免费久久av| 亚洲va电影大全| 免费97视频在线精品国自产拍| 92看片淫黄大片看国产片| 欧美精品情趣视频| 成人免费看黄网站| 欧美丝袜一区二区| 裸体女人亚洲精品一区| 亚洲变态欧美另类捆绑| 中文字幕欧美日韩| 亚洲午夜性刺激影院| www国产精品视频| 亚洲精品有码在线| 欧美精品电影在线| 久久伊人精品天天|