作者HuangJC (吹笛牧童)
看板PHP
标题Re: [请益] phpbb的帐号整合
时间Tue Jul 22 14:11:28 2008
※ 引述《lottemarines (一平)》之铭言:
: ※ 引述《Joe8 (Beautiful Stranger)》之铭言:
: : 请问板上有人成功将自己做的会员网站系统中的帐号密码等私人资讯
: : 与phpbb等论坛程式整合成功的吗?
: : 意思是说只需要一次登入就可以在主体网站内浏览且上phpbb论坛发文
: : 我想到的蠢方法1:
: 小弟来讲一下我的经验:
: 与phpbb2同一个目录
: 在自己的网页最前面放上
: <?
: define('IN_PHPBB', true);
: $phpbb_root_path = '';
: include($phpbb_root_path . 'extension.inc');
: include($phpbb_root_path . 'common.'.$phpEx);
: $userdata = session_pagestart($user_ip, PAGE_INDEX);
: ?>
: 这样之後
: $userdata[username]这个就是用phpbb登入的人的id
: 如果使用者用phpbb登入了, echo $userdata[username];
: 就会出现 使用者的id
: 用这个方法去做整合....试试看不知道有没有帮助
主要的问题还是在 session 上
A.php 里的变数能传到 B.php 里
那必需是同一个 session
如果不同 session 可以乱传
那我在自己的电脑登入,你那边就以为是我登入了,那是不允许的
也就是说,我们常有的 local variable & global variable 观念里
可以分很多层,而这里有一层可以称之为 session variable 的话
我的变数不应该传到你那边去
$userdata[username] 这方法的确可以查询是否登入
不过如果我在自己的 cake.php 里没头没尾的问 $userdata
却又会得到一句 unset
如果我要 require 别人整个专案,又很怕对方的全域变数把我这边搞垮
老实说,我们就是有 userdata 这个变数,还真的冲了 :P
PhpBB 里一句 global $userdata; 宣告,就开始干扰我们的变数
这样任意合并是会头皮发麻的 XD
如果回到 VC 的经验,就是有人写了个 sideeffect 超强的函式,用了一堆全域变数
当然这函式要包进来之前全部的人都要检查
而为了一个抓来的 PhpBB 要求大家 rename ,我想会天怒人怨吧..
我们自己拷出来的的 code 还真的没有 global 宣告耶
关起门来调好 DB,设定 cookie,就 function return 了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.219.65.16