紧急求助:discuz整合登陆问题 cookie还有3项你没有用,估计你应该用到后面2项!路进和域你的BBS不会和网站放到同一个目录下吧? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是,网站在根目录,然后论坛放在了bbs这个目录下面请楼上的几位说清楚一些好吗?我刚学php没有多长时间,今天看了一天discuz的代码,头都晕了,实在是没有思路了,才到这里来问的,请各位放几句代码好吧? 你看下PHP手册中setcookie()函数的用法,他一共有7个参数!setcookie('cookieName', 'cookieValue', expire, '/', 'www.yourWeb.com')看看,比如你在你的网站登陆用户, cookie就要在你的网站根目录下设置,那个'/'表示在'/'目录下的所有子目录该cookie都有效!还有就是cookie之前不要有任何输出,php4之后可以用缓存解决输出先后的问题! COPYDZ的登录的FORM有几个HIDDEN的数据的 晕了,弄了半天还是不行function dsetcookie($var, $value, $life = 0, $prefix = 1) { //global $tablepre, $cookiedomain, $cookiepath, $timestamp, $_SERVER; $tablepre = 'cdb_'; $cookiedomain = ''; $cookiepath = '/'; $timestamp = time(); setcookie(($prefix ? $tablepre : '').$var, $value, $life ? $timestamp + $life : 0, $cookiepath, $cookiedomain, 0);}function authcode($string, $operation, $key = '') { $auth_key='3oqWzQWnlBO6qFX'; $discuz_auth_key = md5($auth_key.$_SERVER['HTTP_USER_AGENT']); $key = $key ? $key : $discuz_auth_key; $coded = ''; $keylength = strlen($key); $string = $operation == 'DECODE' ? base64_decode($string) : $string; for($i = 0; $i < strlen($string); $i += $keylength) { $coded .= substr($string, $i, $keylength) ^ $key; } $coded = $operation == 'ENCODE' ? str_replace('=', '', base64_encode($coded)) : $coded; //echo $coded; return $coded;}〕这两个函数我已经拷贝了过来,而且cookies中的auth值已经设置的和discuz中的值一样,可是就是没有起到我要的效果,急等帮助 只是在等,看手册setcookie函数的用法!你在/路径下设置的cookie在/bbs路径下有效,在/bbs路径下设置的cookie在/路径下不尿! 你在/路径下设置的cookie在/bbs路径下有效,在/bbs路径下设置的cookie在/路径下不尿!手册我看过好多次了,但是还是搞不懂什么意思既然在根目录/下有效了,那么对其下所属的子目录也应该有效呀 在调用前加上这两项吧~$cookiedomain = 'www.domain.com'; //你的域名$cookiepath = '/'; 有点不明白,你的这个登陆也是用的members表的用户数据,那么直接拷贝一份discuz验证程序让用户登陆不可以嘛 如果通过! 检查是不是你的作用域有问题。你可以在两个目录下分别printr出所有的cookie值看看不同的地方。你的思路没有错误。耐心检查一下。 你可以看下api/passport.php文件里面有一个登录 退出 注册代码你可以用header来实现再看下官方的接口 如果是这样的话,你看看我在discuz发的帖子吧http://www.discuz.net/thread-466339-1-1.html写的可能技术含量不高,不过我已经是实现了!! 关于竞价排名的思路困惑,不涉及具体编程,求开拓思路 关于excelreader读取excel乱码的问题 有谁用SWFUpload来实现上传进度条? ajax的问题 求一段httpd.ini规则 请高手帮忙看看程序问题出在哪?(关于mysql_query) 如何将数据库中的html代码提取输出成html页面? php怎样读表单中的空格换行!在线等,高分~~~~ PHP按钮返回404错误 linux下nginx php mysql 在页面中显示了连接mysql成功,为什么显示不了数据 javascript与PHP的使用问题 关于服务器端和客户端时间比较问题?
请楼上的几位说清楚一些好吗?
我刚学php没有多长时间,今天看了一天discuz的代码,头都晕了,实在是没有思路了,才到这里来问的,请各位放几句代码好吧?
看看,
比如你在你的网站登陆用户, cookie就要在你的网站根目录下设置,
那个'/'表示在'/'目录下的所有子目录该cookie都有效!还有就是cookie之前不要有任何输出,php4之后可以用缓存解决输出先后的问题!
DZ的登录的FORM
有几个HIDDEN的数据的
function dsetcookie($var, $value, $life = 0, $prefix = 1) {
//global $tablepre, $cookiedomain, $cookiepath, $timestamp, $_SERVER;
$tablepre = 'cdb_';
$cookiedomain = '';
$cookiepath = '/';
$timestamp = time();
setcookie(($prefix ? $tablepre : '').$var, $value,
$life ? $timestamp + $life : 0, $cookiepath,
$cookiedomain, 0);
}
function authcode($string, $operation, $key = '') {
$auth_key='3oqWzQWnlBO6qFX';
$discuz_auth_key = md5($auth_key.$_SERVER['HTTP_USER_AGENT']);
$key = $key ? $key : $discuz_auth_key; $coded = '';
$keylength = strlen($key);
$string = $operation == 'DECODE' ? base64_decode($string) : $string;
for($i = 0; $i < strlen($string); $i += $keylength) {
$coded .= substr($string, $i, $keylength) ^ $key;
}
$coded = $operation == 'ENCODE' ? str_replace('=', '', base64_encode($coded)) : $coded;
//echo $coded;
return $coded;
}
〕
这两个函数我已经拷贝了过来,而且cookies中的auth值已经设置的和discuz中的值一样,可是就是没有起到我要的效果,急等帮助
你在/路径下设置的cookie在/bbs路径下有效,在/bbs路径下设置的cookie在/路径下不尿!
既然在根目录/下有效了,那么对其下所属的子目录也应该有效呀
$cookiedomain = 'www.domain.com'; //你的域名
$cookiepath = '/';
里面有一个登录 退出 注册代码
你可以用header来实现
再看下官方的接口
http://www.discuz.net/thread-466339-1-1.html
写的可能技术含量不高,不过我已经是实现了!!