上一篇:PhpYun人才系统 与 Discuz 通过 Ucnter 整合会员中讲解了 的一些常见问题以及难点,接下来,记录一下打通会员之后遇到的问题。

注册时会提示”该 Email 已经被注册“,phpyun因为不需要使用邮箱注册,所以会使用默认的邮箱地址注册,我们已经在Ucnter中设置了允许一个邮箱注册多个用户,按理来说不应该出现这样的问题的,确认设置没有问题了,那我们来过一下源码调试一下,看问题出在哪。

我的个人博客:逐步前行STEP

首先,查看接口:

这个接口报错提示”该 Email 已经被注册!“,先进入到网站根目录,找到入口文件index.php,通过查看代码可以知道核心的方法调用是在app/include/init.php 文件,

这部分代码说明了,根据我们的api参数m=register&c=regsave,会引入一个控制器文件 app/controller/register/index.class.php

这部分代码说明了,将会执行这个控制器下的regsave方法,我们查找到这个方法:

上面代码片段中,方法的执行结果是由$Member->userRegSave($data);返回的,使用get_class()获取这个$Member 的类名为:userinfo_model,查找到这个类下的userRegSave方法,

我的个人博客:逐步前行STEP

可以看出来,这个是核心的注册方法了。

这个函数中这部分代码是判断是否设置了Ucenter数据整合,是的话从Ucenter注册用户,查看具体的Ucenter注册用户的代码:

通过call_user_func执行了UC_API_FUNC定义函数名的方法,

找到具体代码:


可以看到,最终是执行:

return $uc_controls[$model]->$action($args);

得到结果,根据上面代码片段的传参register,可知执行的action是‘onregister‘函数,同样使用getclass方法获取‘action是`onregister`函数,同样使用get_class方法获取`action是‘onregister‘函数,同样使用getc​lass方法获取‘uc_controls[$model]的类名为usercontrol`可以找到所在文件,并找到onregister()方法:

其中

$status = $this->_check_email($email)

检查了邮件是否合法,进入该函数:

我的个人博客:逐步前行STEP

可以看到,下面这个判断决定了是否提示邮件已被注册:

if(!$this->settings['doublee'] && $_ENV['user']->check_emailexists($email, $username)) {return UC_USER_EMAIL_EXISTS;}

打印$this->settings['doublee']的·值,发现为0,那导致报错的原因可能是这个值异常,打印整个$this->settings:

可以看到,这是Ucenter的配置,到Ucenter数据库中查看一下配置:

SELECT * FROM `mpw_ucenter_settings`


我的个人博客:逐步前行STEP

数据库中的doublee配置值是1,再到Ucenter中关闭允许同一个email注册多个用户,发现该值更新为0了,说明这个值是”是否允许同一个email注册多个用户“的配置项,而在Ucenter中设置允许的时候,phpyun代码中获取的配置项还是不允许,所以问题应该是在这,_check_email中的代码:

if(empty($this->settings)) {$this->settings = $this->cache('settings');}

打印出$this->cache('settings')的值,其中doublee的值和数据库中一致,说明问题出在$this->settings没有更新。找到cache方法:

该方法将数据缓存在uc根目录下的/data/cache/目录中,找到该目录有以下缓存文件:

将setting.php删除即可,这样phpyun就会重新缓存ucenter的配置数据,问题解决。

我的个人博客:逐步前行STEP

PhpYun人才系统 整合 Ucenter 之后,会员注册提示”该 Email 已经被注册!“的解决方案相关推荐

  1. PhpYun人才系统 与 Discuz 社区 通过 Ucenter 做会员整合

    phpyun人才系统作为一个专业的PHP招聘系统,可以很好地做本地化的线上招聘工作,天然适合配合社区系统做本地化社区,于是在搭建了phpyun人才系统之后,又搭建了discuz 社区. 我的个人博客: ...

  2. PHPYUN人才系统短信插件

    这段时间php程序的人才招聘系统挺火,公司有很多使用PHPYUN人才系统的客户,遇到短信发送问题.主要问题在于系统自带的短信接口不稳定,造成用户体验变差,直接导致客户流失. 今天我来讲解一下PHPYU ...

  3. phpyun人才系统 短信配置教程

    短信配置:网站后台-工具-短信设置里面 appKey和appSecret在用户服务中心短信设置里面获取填入 短信模版在网站后台-工具-短信模版设置里面 更换方法: 第一步:找到对应模块 第二步:更换内 ...

  4. phpyun人才系统v6.2视频面试聊天功能怎么申请App Key来保障正常使用

    最近Phpyun又升级到v6.2了,新版功能我们就不提了这不是我们这篇文章的重点,今天重点来说说普通聊天中的key怎么使用,怎么对接App Key及App Secret? 话说到这套程序的普通聊天插件 ...

  5. phpyun人才系统手机WAP端设置域名教程

    手机版设置默认是使用:"xxx.com/wap"访问机制, 可以实现:"绑定二级域名"机制.根据运营者的运营需求,自主设置 手机版设置 先登陆:后台" ...

  6. Phpyun人才系统6.4_6.5零工市场开源代码小程序上架步骤更新流程

    1.将接口文件上传至/api\wxapp目录(注意代码有必要修改的时候一定要用二进制软件修改) 2.小 2.程序代码导入到微信开发者工具内并修改域名连接 3.修改appid(如果本地浏览建议开启:不校 ...

  7. php空间xpyun_php云人才系统官方版-phpyun下载 v4.0 官方正式版 - 安下载

    php云人才系统(phpyun)是一款非常实用的人才招聘网站系统开源程序,该软件是针对中文用户开发,可以为熟悉中文的用户提供强大的开源平台,帮助用户设计出一套完整的人才招聘系统,在整个开发系统中,程序 ...

  8. php会员整合,会员整合Ucenter/Discuz!/PHPWind教程

    首先进入 Destoon网站后台 -〉会员管理 -〉模块设置 -〉会员整合 假如需要整合的主站地址为 https://www.abc.com 论坛为 https://bbs.abc.com 1.整合U ...

  9. php云系统清除版权,PHP云人才系统 PHPYun任意文件删除

    PHP云人才系统 PHPYun为 PHP100旗下产品.下载源码:http://www.phpyun.com/phpyun_2.4_GBK_Beta.zip 2.4版本的先看根目录下index.php ...

最新文章

  1. 机器学习在生物信息(如DNA比对等方面)的研究现状是怎样的?
  2. JSP利用servlet上传文件时的中文乱码问题
  3. 数组中a和a 的区别?
  4. REVERSE-PRACTICE-CthulhuOJ
  5. 46. 全排列/47. 全排列 II
  6. qml修改图片的颜色
  7. BPMN 2.0 流程设计
  8. mybatis源码解析 - 通过一个简单查询例子分析流程
  9. iOS开发中那些高效常用的宏
  10. 前端,自定义印章效果
  11. 08CMS之AJAX
  12. “被裁员之前,没得到任何风声,措手不及...” 一个在职6年测试工程师内心独白
  13. CSS 实现平行四边形、菱形、切角效果、梯形
  14. RTP打包G711音频数据发送
  15. Magic Leap开发指南(7)-- 眼球追踪(Unity)
  16. 计算机界面没磁盘驱动器,请将磁盘插入驱动器,电脑提示驱动器中没有磁盘怎么办...
  17. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
  18. grid_map(五):grid_map函数定义、类型定义学习
  19. vscode vetur 代码格式化优化设置(亲测有用)
  20. 大学计算机基础教育改革,谈计算机等级考试引导大学计算机基础教育改革.pdf...

热门文章

  1. MUI 宫格组件(grid)怎么取消mui-active背景色?(优先级设置问题)- 踩坑篇
  2. Bootstrap完美select标签下拉菜单实现
  3. WordPress网站弹窗插件PopupPress插件
  4. PHP付费资源下载交易平台网站源码
  5. mysql on后加and_mysql加入ON和AND to laravel eloquent
  6. mysql8.0.4.rc_mysql 官方源从8.0.3直接yum升级到8.0.4后无法启动
  7. ARM平板电脑移植Linux,iperf ARM移植
  8. gradle 编译java配置文件_Andriod(三):配置文件build.gradle与AndroidManifest.xml
  9. 酷炫好看的横向滑动个人介绍简历模板
  10. 组织管理插件-代码自动补全-语法检查等特性-SpaceVim v1.5.0