|
还好,用户登录这里通过一个小小的方法可以实现和论坛同步了.可以不用passport接口.
这是我整理的数据,仅供参考.
登录传两值过来就行(username和password);
[U]复制代码[/U] 代码如下:
result($db->query("SELECT count(*) FROM {$tablepre}failedlogins WHERE ip='$onlineip' AND count>='$seccodedata[loginfailedcount]' AND $timestamp-lastupdatequery("SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,
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.$field='$username'");
$member = $db->fetch_array($query);
//判断登录是否正确
if($member['password']!=$md5_password){
echo "您输入的用户名或密码错误!";
exit();
}
//通过就执行下边的程序
extract($member);
$discuz_userss = $discuz_user;
$discuz_user = addslashes($discuz_user);
if(($allowinvisible && $loginmode == 'invisible') || $loginmode == 'normal') {
$db->query("UPDATE {$tablepre}members SET invisible='".($loginmode == 'invisible' ? 1 : 0)."' WHERE uid='$member[discuz_uid]'", 'UNBUFFERED');
}
$styleid = intval(empty($_POST['styleid']) ? ($styleidmem ? $styleidmem :
$_DCACHE['settings']['styleid']) : $_POST['styleid']);
$cookietime = intval(isset($_POST['cookietime']) ? $_POST['cookietime'] :
($_DCOOKIE['cookietime'] ? $_DCOOKIE['cookietime'] : 0));
dsetcookie('cookietime', $cookietime, 31536000);
dsetcookie('auth', authcode("$discuz_pw\t$discuz_secques\t$discuz_uid", 'ENCODE'), $cookietime);
$sessionexists = 0;
updatesession();//更新论坛USERPASS数据
echo "{'action':'ture'}";//这里是您要输出的数据
print_r($_DSESSION);
echo $discuz_userss;
}
?>
您可能感兴趣的文章:DISCUZ论坛的UBB编辑器(增加灵活调用,支持ASP UBB解析)打包下载dedecms调用discuz论坛信息按照ID分类调用附详细说明DISCUZ 论坛管理员密码忘记的解决方法浅谈discuz密码加密的方式php用户密码加密算法分析【Discuz加密算法】Discuz论坛密码与密保加密规则
|
|