您的位置:首页 > 其它

discuz X3用户登录uc_user_login()函数详解

2013-09-10 10:47 543 查看
discuz X3用户登录uc_user_login()函数详解

验证用户登录 discuz x3/source/function/function_member.php中大约35行左右:
if($isuid == 3) {
if(!strcmp(dintval($username), $username) && getglobal('setting/uidlogin')) {
$return['ucresult'] = uc_user_login($username, $password, 1, 1, $questionid, $answer, $ip);
} elseif(isemail($username)) {
$return['ucresult'] = uc_user_login($username, $password, 2, 1, $questionid, $answer, $ip);
}
if($return['ucresult'][0] <= 0 && $return['ucresult'][0] != -3) {
$return['ucresult'] = uc_user_login(addslashes($username), $password, 0, 1, $questionid, $answer, $ip);
}
}
else {
$return['ucresult'] = uc_user_login(addslashes($username), $password, $isuid, 1, $questionid, $answer, $ip);
}


这里的uc_user_login()就是去验证登录是否成功:

用户登录:

array uc_user_login(

string username ,

string password,

bool isuid ,

bool checkques ,

integer questionid ,

string answer

)

函数参数
参数含义
string username用户名 / 用户 ID
string password密码
bool isuid是否使用用户 ID登录
1:使用用户 ID登录
0:(默认值) 使用用户名登录
bool checkques是否验证安装提问
1:验证安全提问
0:(默认值) 不验证安全提问
integer questionid安全提问索引
string answer安全提问答案
返回值
含义
arrayinteger [0]大于 0:返回用户 ID,表示用户登录成功
-1:用户不存在,或者被删除
-2:密码错
-3:安全提问错
string [1]用户名
string [2]密码
string [3]Email
bool [4]用户名是否重名
本接口函数用于用户的登录验证,用户名及密码正确无误则返回用户在 UCenter 的基本数据,否则返回相应的错误信息。如果应用程序是升级过来的,并且当前登录用户和已有用户重名,那么返回的数组中 [4] 的值将返回 1。

附加获取用户数据方法:uc_get_user()

获取用户数据:

array uc_get_user(

string username,

bool isuid

)

函数参数
参数含义
string username用户名
bool isuid是否使用用户 ID获取
1:使用用户 ID获取
0:(默认值) 使用用户名获取
返回值
含义
arrayinteger [0]用户 ID
string [1]用户名
string [2]Email
本接口函数用于获取用户在 UCenter 的基本数据,如用户不存在,返回值为 integer 的数值 0。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐