be_t365_bex5 破解注册用户数的分享是怎么弄的 源代码是什么?

怎么修改discuz!用户注册源代码,实现同一Email可以重复注册 - 开源中国社区
当前访客身份:游客 [
当前位置:
我刚从学校毕业,现在一家小软件公司工作。公司开发了个软件让我配个论坛,我从网上下的Discuz_7.2_SC_UTF8和UCenter_1.6.0_SC_UTF8,已经安装好,可以使用了。现在有个问题,老板让我写个内部注册用的php程序,就和普通用户注册时调用的程序差不多,唯一的区别就是可以使用同一Email重复注册。我看到register.php &,找到 if(!$activation) {
$uid = uc_user_register($username, $password, $email, $questionid, $answer, $onlineip);
if($uid &= 0 and $uid != -6) {
if($uid == -1) {
showmessage('profile_username_illegal');
} elseif($uid == -2) {
showmessage('profile_username_protect');
} elseif($uid == -3) {
showmessage('profile_username_duplicate');
} elseif($uid == -4) {
showmessage('profile_email_illegal');
} elseif($uid == -5) {
showmessage('profile_email_domain_illegal');
elseif($uid == -6) {
showmessage('profile_email_duplicate');
showmessage('undefined_action', NULL, 'HALTED');
list($uid, $username, $email) = $
把 elseif($uid == -6) {
showmessage('profile_email_duplicate');&
注释掉,把if($uid &= 0 )改成if( $uid &=0 and $uid != -6) 然后把ajax.php中 elseif($action == 'checkemail') {
$email = trim($email);
require_once DISCUZ_ROOT.'./uc_client/client.php';
$ucresult = uc_user_checkemail($email);
if($ucresult == -4) {
showmessage('profile_email_illegal', '', 1);
} elseif($ucresult == -5) {
showmessage('profile_email_domain_illegal', '', 1);
} elseif($ucresult == -6) {
showmessage('profile_email_duplicate', '', 1);
里elseif($ucresult == -6) { showmessage('profile_email_duplicate', '', 1); } 部分注释掉, 但是会出现注册完后页面不跳转,数据库discuz中表cdb_members和cdb_memberfields 有数据,但是数据库Ucenter中表uc_memberfields和uc_members中没有。请问该怎么改,麻烦您了, php和discuz我之前都没接触过,代码看了三天了,还没解决....
共有15个答案
..........怎么没人回,还是是我问的太简单了么...
我还真没有改过Discuz的代码&&&只是看过一下.NET版的代码&&
不过为什么要一个EMAIL多注册呢,如果没有记错,EMAIL貌似还有其他地方用到了,比如说密码重置,我记得好像用到了吧,这样的话你要改的地方貌似有很多&&&&
或者是不是数据表做了约束的&&&Discuz好像有日志的,看看日志为什么没有注册成功……
引用来自“笨蛋EGG”的答案我还真没有改过Discuz的代码&&&只是看过一下.NET版的代码&&
不过为什么要一个EMAIL多注册呢,如果没有记错,EMAIL貌似还有其他地方用到了,比如说密码重置,我记得好像用到了吧,这样的话你要改的地方貌似有很多&&&&
或者是不是数据表做了约束的&&&Discuz好像有日志的,看看日志为什么没有注册成功……谢谢,
一个EMAIL多注册是老版的要求,内部使用。系统日志,刚才找了下在.\forumdata\logs下面的几个文件,201107_errorlog.php 里面都
是字段数据重复的问题。我觉得应该要搞清楚用户注册时系统的处理过程,才好办.
&uc_user_register 去找这个函数,看这个函数哪里返回了 -6,注释掉。
引用来自“杨xidian”的答案
&uc_user_register 去找这个函数,看这个函数哪里返回了 -6,注释掉。
这个函数的定义是
function uc_user_register($username, $password, $email, $questionid = '', $answer = '') {
return call_user_func(UC_API_FUNC, 'user', 'register', array('username'=&$username, 'password'=&$password, 'email'=&$email, 'questionid'=&$questionid, 'answer'=&$answer));
call_user_func()这个就找不到了..
MS通过UC管理后台里设置一下就可以允许同一email重复注册了,印像中有这样的设置,没有专门查证。
第一,我想讲的是同一个email多次注册,已和dz是相违背的.它email也相当username,愿意是可以把email当用户名,唯一的登陆.
第二,完全可以独立于discuz(uc)的注册程序,你可以自己重新写一个,方法是:你用完整的discuz注册一个帐号,再观察数据表里添加了哪些数据.完后你写程序实现同样的插入数据.
我在discuz7.0时确实做过这样的工作,discuz7.2也相差不大.
( &我写过程序批量生成9W个随机帐号)
( 原来没有论坛,只有主站,有不少相同email的注册帐号, 我同步到了discuz7.0)
不用改代码啊 ,后台设置就行。。。。楼上兄弟的截图。。。。
引用来自“杨金焕”的答案
我想要外部用户注册时Email唯一,自己用的注册程序可以重复Email
更多开发者职位上
有什么技术问题吗?
jingwei...的其它问题
类似的话题

我要回帖

更多关于 at t注册开发者 的文章

 

随机推荐