discuzX3.2 用户注册接口代码

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

相关文章

百度经纬度和火星坐标转换

<?php     //GCJ-02...

php导出EXCEL出现错误解决方法

由于数据量不多的增多,最近出现了导出excel的时候报错:Allowed memory size of 134217728 bytes exhausted (tried to allocate 114...

抓取页面出现乱码

在抓取页面的时候出现类似�������这样乱码解决方法如下 1、转换编码 str=mbconvertencoding(str=mbconvertencoding(...

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

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

php json_encode输出空白问题

php json_encode输出空白问题

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

PHP防注入函数使用

htmlspecialchars 防止xss注入ENT_COMPAT - 默认。仅编码双引号。ENT_QUOTES - 编码双引号和单引号。ENT_NOQUOTES - 不编码任何引号。默认是只编码双...

发表评论    

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