dedecms织梦会员通过邮箱找回密码方法

首先打开文件:/member/resetpassword.php这是织梦会员找回密码的核心文件!

在148行有这么一句:showmsg('对不起,临时密码错误','-1');看来问题就在这了!但是怎么引起的呢,别急继续看代码

从125行往下看:

这段代码的意思是:如果row['pwd'等于$sn,则修改密码成功,如果不等于就提示:“对不起,临时密码错误”

看来问题出在$pwdtmp这个字段上,这个字段值来自前台resetpassword2.htm:

代码看到这也许有人就晕了,又出了一个字段:$key,这段代码的意思是:如果key为空显示:

看来根源问题就是$key,key值是系统发送给会员邮件的一个字段,打开文件:/member/inc/inc_pwd_functions.php找到:

function newmail($mid,$userid,$mailto,$type,$send)

{

global $db,$cfg_adminemail,$cfg_webname,$cfg_basehost,$cfg_memberurl;

$mailtime = time();

$randval = random(8);

$mailtitle = $cfg_webname.":密码修改";

$mailto = $mailto;

$headers = "From: ".$cfg_adminemail."\r\nReply-To: $cfg_adminemail";

$mailbody = "亲爱的".$userid.":\r\n您好!感谢您使用".$cfg_webname."网。\r\n".$cfg_webname."应您的要求,重新设置密码:(注:如果您没有提出申请,请检查您的信息是否泄漏。)\r\n本次临时登陆密码为:".$randval."请于三天内登陆下面网址确认修改。\r\n".$cfg_basehost.$cfg_memberurl."/resetpassword.php?dopost=getpasswd&id=".$mid."&key=".$randval;

用红字标注的地方原文件是没有的,也就是没用传递key值,需要加上&key=".$randval,问题就解决了,到此会员就可以通过邮件找回密码了!

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。