Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

修改UCH注册时的邮箱检验(最新更新修改了UC的BUG)

[复制链接]
cgisky 发表于 2008-11-25 19:22:08 | 显示全部楼层 |阅读模式
UCHome插件
语言编码: GBK简体 UTF8简体 BIG5繁体 
插件名称: 邮箱检验
插件作者: 经典流氓
适用版本:
本帖最后由 cgisky 于 2008-11-26 13:18 编辑

演示地址 http://www.177wan.com

最新更新发布 请看
https://discuz.dismall.com/thread-1123630-1-1.html

支持在注册前先验证邮箱的真实性

在UC里设置的同一个email 只能注册一个帐户,禁止注册的email等设置对uch无效
自己动手来改改吧~~~

第一步
修改"\template\default\do_register.htm"

在 84行左右 查找
  1. <tr><th>邮箱</th><td><input type="text" id="email" name="email" value="@" class="t_input" tabindex="5" />
复制代码
修改为
  1. <tr><th>邮箱</th><td><input type="text" id="email" name="email" value="@" class="t_input" tabindex="5" onBlur="checkemail()"/> <span id="checkemail"> </span></td></tr>
复制代码
----------------无耻的分割线------------
查找
  1. function checkPassword(confirm)
复制代码
上面添加
  1. function checkemail() {
  2. var email = trim($('email').value);
  3. if(email == lastEmail) {
  4. return;
  5. } else {
  6. lastEmail = email;
  7. }
  8. var ce = $('checkemail');

  9. ajaxresponse('checkemail', 'op=checkemail&email=' + email);
  10. }
复制代码
第二步

修改"\source\do_register.php"文件
查找
  1. elseif($op == "checkseccode")
复制代码
前面添加(注意这句前面有个} 下面的代码添加在}和elseif之间!!!)
  1. elseif($op == "checkemail") {

  2. $email = trim($_GET['email']);

  3. @include_once (S_ROOT.'./uc_client/client.php');
  4. $ucresult = uc_user_checkemail($email);

  5. if($ucresult == -4) {
  6. showmessage('email_format_is_wrong');
  7. } elseif($ucresult == -5) {
  8. showmessage('email_not_registered');
  9. } elseif($ucresult == -6) {
  10. showmessage('email_has_been_registered');
  11. } else {
  12. showmessage('succeed');
  13. }
  14. }
复制代码
uc的问题找到了~~~~可以验证email是否注册过了!
修改 uc_client\control\user.php
查找
  1. elseif(!$this->settings['doublee'] && $_ENV['user']->check_emailexists($email, $username))
复制代码
替换成
  1. elseif($_ENV['user']->check_emailexists($email))
复制代码
---------------------------------------------------------------------------------------------------

OK 注册的时候可以验证email是否复合注册的条件了~~~~~
演示地址 http://www.177wan.com


有空想搞个 注册之前先验证邮箱的~~~就是先发一个邀请链接到邮箱,然后再注册的
不知道有这个需要的多不?

评分

1

查看全部评分

 楼主| cgisky 发表于 2008-11-25 19:59:41 | 显示全部楼层
本帖最后由 cgisky 于 2008-11-26 00:44 编辑

。。。。。。。。。。。测试了下  是否允许同一 Email 地址注册多个用户:

还是不能实现  应该是UC的问题了~~~

检测是用的UC的接口的~~~
-------------------------------------------------------------------------
已经在1楼整理修改了
回复

使用道具 举报

abcnic1 发表于 2008-11-25 21:42:03 | 显示全部楼层
谢谢分享
回复

使用道具 举报

wangzb 发表于 2008-11-25 22:04:23 | 显示全部楼层
一个email注册多个用户在uc中有设置,去uc里设置一下
回复

使用道具 举报

 楼主| cgisky 发表于 2008-11-25 22:08:36 | 显示全部楼层
本帖最后由 cgisky 于 2008-11-26 00:44 编辑

设置了没用的~~~~
第一uch并不调用
第二 就算像上面那样调用了 还是不行哦~~
一会我去检查UC的代码~
-------------------------------------------------------------------------
已经在一楼修改整理
回复

使用道具 举报

 楼主| cgisky 发表于 2008-11-25 23:37:35 | 显示全部楼层
本帖最后由 cgisky 于 2008-11-26 00:45 编辑

uc的问题找到了~~~~可以检验email是否注册过
修改 uc_client\control\user.php
查找
  1. elseif(!$this->settings['doublee'] && $_ENV['user']->check_emailexists($email, $username))
复制代码
替换成
  1. elseif($_ENV['user']->check_emailexists($email))
复制代码

-------------------------------------------------------------------------
已经在一楼修改整理
回复

使用道具 举报

maoqoo 发表于 2008-11-25 23:54:02 | 显示全部楼层
要改这么多啊
回复

使用道具 举报

天涯客栈 发表于 2008-11-25 23:55:25 | 显示全部楼层
不错
楼主弄个流行的email注册并验证的那种
最好是直接输入email就可以了
然后提示进入输入email的网站激活
回复

使用道具 举报

 楼主| cgisky 发表于 2008-11-25 23:56:00 | 显示全部楼层
刚改了下 uc 那边只要改一个文件就行了
回复

使用道具 举报

whj888 发表于 2008-11-26 00:22:47 | 显示全部楼层
哪楼说的是正确的方法?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-7-5 03:12 , Processed in 0.119564 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表