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

2015-01-24信息快讯网

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

还是这个比较简单哦,找了很久,这次就爽了
php中使用cookie来保存用户登录信息的实现代码
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
php中通过curl模拟登陆discuz论坛的实现代码
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
php自动注册登录验证机制实现代码
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
使用PHPRPC实现Ajax安全登录第1/2页
PHP+Mysql+jQuery实现动态展示信息
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
PHP pathinfo()获得文件的路径、名称等信息说明
php Smarty初体验二 获取配置信息
discuz程序的PHP加密函数原理分析
QQ登录 PHP OAuth示例代码
从康盛产品(discuz)提取出来的模板类
php设计模式 Bridge (桥接模式)
提高define性能的php扩展hidef的安装和使用
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
php目录操作函数之获取目录与文件的类型
上传文件先创建目录 再上传到目录里面去
PHPwind整合最土系统用户同步登录实现方法
晋城吧对DiscuzX进行的前端优化要点
php下mysql数据库操作类(改自discuz)
phpmyadmin 3.4 空密码登录的实现方法
Discuz!下Memcache缓存实现方法
ecshop 订单确认中显示省市地址信息的方法
discuz authcode 经典php加密解密函数解析
基于pear auth实现登录验证
php google或baidu分页代码
MYSQL 小技巧 -- LAST_INSERT_ID
PHP下通过系统信号量加锁方式获取递增序列ID
Discuz 6.0+ 批量注册用户名
PHP DataGrid 实现代码
C# Assembly类访问程序集信息
PHP 模拟登陆MSN并获得用户信息
©2014-2024 dbsqp.com