discuzX3.2 用户注册接口代码

hykeda8年前PHP688
新建一个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,可以判断各项条件等。 还开发了禁止登陆的功能,在此处就先不写了。如果有问题或者建议的朋友可以给我留言。  

相关文章

composer使用phpstudy的php环境,如果改变php版本如何处理

        首先安装composer后,先在系统的环境变量中添加php路径,比如之前的路径:C:\zhangsan\...

php json_encode输出空白问题

php json_encode输出空白问题

例如这样的一段转json出现空白: echo json_encode(array('error' => '0', 'message' => '没有错误')); var_dump(js...

查找附近geohash算法及实现 (PHP版本)

随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆、银行、妹纸等等)。 基础数据中,一般保存了目标位置的经纬度;利用用户提供的经纬度,进行对比,从而获得是否在附近。 目标:...

PHP限制ip以及IP段是否允许访问,以及对ip子网的理解

php 如何限制ip访问:// 判断ip是否被允许 function isIpBlocked($clientIP,$blockedIPs) {   ...

php 用curl 进行数据post给接口,如何将数据存放至body中传递

有个项目,将数据推送至接口文件,代码入下:$headers[]  =  "Accept:application/json";$headers[]  =...

简单的高精度计算函数

/** PHP高精度计算 * @param string $type * @param $n * ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。