网站地图    收藏   

主页 > 后端 > discuz >

关于discuz与dede整合无法找回密码的问题 - Discuz

来源:自学PHP网    时间:2014-12-03 20:51 作者: 阅读:次

[导读] 会员邮箱验证,邮箱验证的目的就是解决会员密码忘记后怎样找回,可是当我们整合discuz论坛后,会发现我们从网站找回密码的功能不能用,当用户从邮箱收到找回密码的验证信息后,修改的密...

关于discuz与dede整合无法找回密码的问题

会员邮箱验证,邮箱验证的目的就是解决会员密码忘记后怎样找回,可是当我们整合discuz论坛后,会发现我们从网站找回密码的功能不能用,当用户从邮箱收到找回密码的验证信息后,修改的密码不起作用,我一开始也遇到这样的问题,我一开始还以为dede出问题了,我又重新测试了一次,发现dede并没有错误,后来我又详细看了一下代码,发现会员修改密码时候并没有写入到ucenter里面,出现这个问题,我感觉是由于dede和dz的安装顺序有问题吧,大家都知道dz6.0之后的dz整合都是通过uc来做的,我是先安装的dede,这样会出现一些未知的错误吧,我也不想重新再装了,说不定装上之后还不知道行不行,所以还是自己将它写入到uc里面吧.

打开member下的resetpassword.php文件,找到大概134行:

  1. if($pwd == $pwdok) 
  2. { 
  3. $pwdok = md5($pwdok); 
  4. $sql = "DELETE FROM `dede_pwd_tmp` WHERE `mid` = '$id';"; 
  5. $db->executenonequery($sql); 
  6. $sql = "UPDATE `dede_member` SET `pwd` = '$pwdok' WHERE `mid` = '$id';"; 
  7. if($db->executenonequery($sql)) 
  8. { 
  9. showmsg('更改密码成功,请牢记新密码', 'login.php'); 
  10. exit; 
  11. } 
  12. } 
  13. //修改为:  
  14. if($pwd == $pwdok) 
  15. { 
  16. #api{{ 
  17. if(defined('UC_API') && @include_once DEDEROOT.'/uc_client/client.php') 
  18. { 
  19. $row1 = $db->GetOne("Select * From dede_member where mid = '$mid'"); 
  20. $ucresult = uc_user_edit($row1['userid'], '', $pwdok, '', 1); 
  21. } 
  22. #/aip}} 
  23. $pwdok = md5($pwdok); 
  24. $sql = "DELETE FROM `dede_pwd_tmp` WHERE `mid` = '$id';"; 
  25. $db->executenonequery($sql); 
  26. $sql = "UPDATE `dede_member` SET `pwd` = '$pwdok' WHERE `mid` = '$id';"; 
  27. if($db->executenonequery($sql)) 
  28. { 
  29. showmsg('更改密码成功,请牢记新密码', 'login.php'); 
  30. exit; 
  31. } 
  32. } 

主要是在修改密码之前加入写入uc的代码:

  1. #api{{ 
  2. if(defined('UC_API') && @include_once DEDEROOT.'/uc_client/client.php') 
  3. { 
  4. $row1 = $db->GetOne("Select * From dede_member where mid = '$mid'"); 
  5. $ucresult = uc_user_edit($row1['userid'], '', $pwdok, '', 1); 
  6. } 
  7. #/aip}} 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论