本文目录一览:
- 1、如何获得discuz得用户session登陆状态呢(php)
- 2、自己做的php网站怎么和discuz!论坛里的用户同步?
- 3、php 如何调用discuz x3.1的用户注册接口
- 4、从用户易用性来说 discuz好还是phpwind好?
- 5、如何使用PHP从discuz里获得用户数据并用json打印出来呢?
- 6、php discuz 同步登陆
如何获得discuz得用户session登陆状态呢(php)
怎么说呢,我也弄了一段时间这个,最后我的解决办法是这样的
在你自己做的网页里开头部分加上这个
require_once './bbs/include/common.inc.php';这个路径得自己对照下,总之就是调一次common.inc.php文件,这样就可以用$discuz_uid了,这个变量就是登陆用户的UID号
然后你可以? if($discuz_uid==0){?
这个就是游客
否则的话就是登陆过的用户了,你可以查询XXX_members where UID=$discuz_uid
就能得到这个用户的全部信息了《《《XXX就是DISCUZ的数据库的那个表前缀》》》
自己做的php网站怎么和discuz!论坛里的用户同步?
我说一下同步登录的方法吧
数据库用户信息用同一个表
验证登录时存在cookie或者session就是登录状态
注册也同用一个数据库就行
php 如何调用discuz x3.1的用户注册接口
phpsso与ucenter通信成功后,XXX_ucenter_member表中的用户已经同步成功但是在 XXX_common_member中并没有此用户,所以只要在xxx_common_member中插入此用户就可以了,所以修改discuz/api /uc.php下的synlogin函数就可以了,修改为
PHP Code复制内容到剪贴板
function synlogin($get, $post) {
global $_G;
if(!API_SYNLOGIN) {
return API_RETURN_FORBIDDEN;
}
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
$cookietime = 31536000;
$uid = intval($get['uid']);
$query = DB::query("SELECT uid, username, password FROM ".DB::table('common_member')." WHERE uid='$uid'");
if ($member = DB::fetch($query))
{
dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);
}else
{
$username = $get['username'];
$query = DB::query("SELECT uid, username, password, email FROM ".DB::table('ucenter_members')." WHERE username='$username'");
$member = DB::fetch($query);
$password = $member['password'];
$email = $member['email'];
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$userdata = array(
'uid'=$uid,
'username'=$username,
'password'=$password,
'email'=$email,
'adminid'=0,
'groupid'=10,
'regdate'=$time,
'credits'=0,
'timeoffset'=9999
);
DB::insert('common_member', $userdata);
$status_data = array(
'uid' = $uid,
'regip' = $ip,
'lastip' = $ip,
'lastvisit' = $time,
'lastactivity' = $time,
'lastpost' = 0,
'lastsendmail' = 0
);
DB::insert('common_member_status', $status_data);
DB::insert('common_member_profile', array('uid' = $uid));
DB::insert('common_member_field_forum', array('uid' = $uid));
DB::insert('common_member_field_home', array('uid' = $uid));
DB::insert('common_member_count', array('uid' = $uid));
DB::query('UPDATE '.DB::table('common_setting')." SET svalue='$username' WHERE skey='lastmember'");
$query = DB::query("SELECT uid, username, password FROM ".DB::table('common_member')." WHERE uid='$uid'");
if ($member = DB::fetch($query))
{
dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);
}
}
}
这样在phpcms中注册后去discuz中就可以不用激活就自动登录了
从用户易用性来说 discuz好还是phpwind好?
discuz比较亲和用户,提供了很多插件模版,并简单易用,建议使用discuz
如何使用PHP从discuz里获得用户数据并用json打印出来呢?
先取出来,然后json_encode()用这个就可以,直接echo 输出,手机就能收到了
php discuz 同步登陆
打开 config/config_global.php 中修改 cookiedomain 值来设置 cookie 作用域。
修改为以下代码样式
$_config[‘cookie’][‘cookiedomain’] = ‘.bzhot.com’;