吾知网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5629|回复: 0
打印 上一主题 下一主题

php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码

[复制链接]
跳转到指定楼层
楼主
发表于 2015-10-29 07:58:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前面有一篇文章讲过自己从cookie和discuz数据库中取用户名、用户组、用户ID等信息,但那个并不一定准确,因为discuz登录时会使用COOKIE中的auth值来动态登录,而cookie信息是滞后的,所以获取到的信息并不完全准确。
这里讲一个简单的方法,直接使用discuz的include/common.inc.php来登录。


include_once("../discuz/include/common.inc.php");
$CTDF_USERINFO = array();
$CTDF_USERINFO["sid"] = $sid;
$CTDF_USERINFO["uid"] = $discuz_uid;
$CTDF_USERINFO["user"] = $discuz_user;
if ($discuz_uid == 0)
{
$CTDF_USERINFO["user"] = "guest_" . $sid;
}
$CTDF_USERINFO["groupid"] = $groupid;
/**
* clear discuz variables
*/
$reserved_arr = array("GLOBALS", "_POST", "_GET", "_COOKIE", "_FILES", "_SERVER", "_ENV", "_REQUEST", "CTDF_USERINFO", "reserved_arr");
foreach ($GLOBALS as $key => $value)
{
if (!in_array($key, $reserved_arr))
{
unset($GLOBALS[$key]);
}
}
unset($reserved_arr, $value);

将上面这段代码放在任何程序的开头处,其目的是不影响自定义变量的使用。这样就将登录信息读取到$CTDF_USERINFO数组中了。

还是这个比较简单哦,找了很久,这次就爽了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|吾知网 ( 粤ICP备13013563号-1 )

GMT+8, 2024-4-23 18:44 , Processed in 1.125000 second(s), 10 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表