高手实现E-mail邮箱注册 激活 登陆功能! 欢迎广大站长进行测试!版权归原作者!在此感谢锦猫鼠!
服务站长系列之—UCH支持EMAIL登录机制
--------------------这里是MrSaner提出建议的原文出处: UCH的高手们,谁能实现E-mail注册 激活 登陆功能?!
就像 校内 海内 开心 开心001等网站那样的邮箱注册、激活和登陆功能。
当然,最好是能实现 邮箱 用户名 实名都能登陆。
这样的好处是用户方便记忆,更是大站长远发展不可或缺的。
我看见很多站长都希望有这样的功能,但官方是不会做的,也问过所谓的官方!
想必这个市场蛮大的,谁能先做出来,即使以付费的方式发放也行!
除了期待,还是期待。。。。。。。。。
----------------------
截止目前,非常感谢 锦猫鼠,已经实现这样的功能,目前测试中...
实现方法详见下:
-------------------
---------------
锦猫鼠 已经做出了这样的功能,目前为测试阶段。欢迎站长朋友们测试!
------email登陆的功能实现的方法:(锦猫鼠 原文日志记录 版权归原作者)
最近看到广大的站长朋友需要email登陆的功能
所以我就抽时间做了一个
主要修改了UC代码,对UCH的代码则不改动
提前申明几点:
1.如果官方团队不允许我直接修改UC代码,请及时告诉我
2.如果有站长朋友认为我做的不好,你可以选择不用
3.有任何错误请及时告诉我,我会定期更新
下面开始吧
1.打开uch目录下的 uc_client/control/user.php 文件 控制层
找到登陆接口 function onlogin() 继续往下找 加入蓝色的代码
if($isuid) {
$user = $_ENV['user']->get_user_by_uid($username);
} else {
$user = $_ENV['user']->get_user_by_username($username);
if(!$user) $user = $_ENV['user']->get_user_by_email($username);
}
2.打开uch目录下的 uc_client/model/user.php 文件 模型层 加入蓝色代码
找到这个地方
function get_user_by_username($username) {
$arr = $this->db->fetch_first("SELECT * FROM ".UC_DBTABLEPRE."members WHERE username='$username'");
return $arr;
}
加入下面这个函数
function get_user_by_email($email) {
$arr = $this->db->fetch_first("SELECT * FROM ".UC_DBTABLEPRE."members WHERE email='$email'");
return $arr;
}
3.打开 template/do_login.htm 文件
找到用户名 修改为你想要显示的文字 如用户名或邮箱
4.然后拿着这2个文件 uc_client/control/user.php uc_client/model/user.php 去uc里面直接覆盖即可
注意:如果你的uch和uc通讯方式是http,则必须执行第三步,否则不支持email登陆
我在本地测试是成功的,如果发现不成功,请仔细检查是否是英文状态下的标点符号
有问题随时告诉我,谢谢! |