discuzX3.2 用户注册接口代码
新建一个php文件在根目录,例:test.php
test.php 具体内容:
error_reporting(0); require_once './source/class/class_core.php'; require './config/config_ucenter.php'; include './uc_client/client.php';包涵一些基础类进来。 注册方法:
public function register($arr){ global $_G; //可以写一些调用验证解密在此处 $discuz = C::app(); $discuz->init(); //访问ucenter注册信息 $uid = uc_user_register(addslashes($arr['username']),$arr['password'], $arr['email'], '', '', $_G['clientip']); if($uid <= 0) { if($uid == -1) { return $this->arrayToJson(0,'用户名不合法!'); } elseif($uid == -2) { return $this->arrayToJson(0,'包含要允许注册的词语'); } elseif($uid == -3) { return $this->arrayToJson(0,'用户名已经存在'); } elseif($uid == -4) { return $this->arrayToJson(0,'Email 格式有误'); } elseif($uid == -5) { return $this->arrayToJson(0,'Email 不允许注册'); } elseif($uid == -6) { return $this->arrayToJson(0,'该 Email 已经被注册'); } else { return $this->arrayToJson(0,'未定义'); } } else { $profile['field1']= $arr['自定义字段']; //自主添加自定义字段,上面是例子 $init_arr = array('credits' => explode(',', '0,0,0,0,0,0,0,0'), 'profile'=>$profile, 'emailstatus' => $emailstatus); //设置自定义用户组 $init_arr = array_merge($init_arr,array('ugroupids'=>$arr['ugroupids'])); $password = md5($arr['password']); $groupid = 10; //设置默认用户组 $flag =C::t('common_member')->insert($uid,$arr['username'], $password, $arr['email'], $_G['clientip'], $groupid, $init_arr); return '注册成功!'; } }注意:如果需要修改自定义用户组的话,需要在table_common_member.php文件的第287之后添加 'extgroupids'=>intval($extdata['ugroupids']) 这样就可以调用该接口注册到dz,可以判断各项条件等。 还开发了禁止登陆的功能,在此处就先不写了。如果有问题或者建议的朋友可以给我留言。