discuz 7.0 uc 同步登录方法

本文介绍了一个用户登录验证的实现过程,包括通过接口判断登录账号的正确性,并在验证通过后设置cookie,完成登录状态的记录。

if($action == 'login') {
//通过接口判断登录帐号的正确性,返回值为数组
list($uid, $username, $password, $email) = uc_user_login(u2g($_POST['username']), $_POST['password']);//登录

if($uid > 0) {

$member = $db->fetch_first("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,
m.email, m.adminid, m.groupid, m.styleid AS styleidmem, m.lastvisit, m.lastpost, u.allowinvisible
FROM {$tablepre}members m LEFT JOIN {$tablepre}usergroups u USING (groupid)
WHERE m.uid='$uid'");//查询
// print_r($member);
extract($member);
$discuz_userss = $discuz_user;
$discuz_user = addslashes($discuz_user);

$cookietime = intval(isset($_POST['cookietime']) ? $_POST['cookietime'] : 0);

dsetcookie('cookietime', $cookietime, 31536000);
dsetcookie('auth', authcode("$discuz_pw/t$discuz_secques/t$discuz_uid", 'ENCODE'), $cookietime, 1, true);
dsetcookie('loginuser');
dsetcookie('activationauth');
dsetcookie('pmnum');
$sessionexists = 0;

updatesession();
$ucsynlogin = $allowsynlogin ? uc_user_synlogin($discuz_uid) : '';//数据更新

echo "登录成功!";

}else{

echo "登录失败!":

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值