获取Discuz论坛登录用户名、用户组、用户ID等

 

前面有一篇文章讲过自己从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数组中了。

 

还是这个比较简单哦,找了很久,这次就爽了

posted on 2010-12-13 15:05  网宗  阅读(6492)  评论(0编辑  收藏  举报

糗乐网-糗事|乐事|天下事