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

织梦教程 强烈建议 2024-02-06 13:30 79 0
  首先打开文件: /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,问题就解决了,到此会员就可以通过邮件找回密码了!

时间:(2024-02-06 13:30:39)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!