discuzX3.2 用户注册接口代码

PHP hykeda 3554℃ 0评论

新建一个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,可以判断各项条件等。

还开发了禁止登陆的功能,在此处就先不写了。如果有问题或者建议的朋友可以给我留言。

 

转载请注明:雕木乱 » discuzX3.2 用户注册接口代码

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址