麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
高手们帮我看看
悬赏分:20 - 2007年08月22日

<?php //discuz同服务器下无passport登陆整合方法 //用法事例 error_reporting(E_ALL); $path_bbs="";//请修改为你的论坛的相对路径 $check_username="abcccc";//测试时这个用户名必须在论坛里也存在 $check_password="111111"; define('IN_DISCUZ', TRUE);//为了包含discuz下的文件这个必须定义 require_once "config.inc.php";//获得论坛数据库的配置 require_once "include/db_mysql.class.php"; if(@$_GET[act]=="logout"){ foreach ($_COOKIE as $key => $value) { setcookie($key,'',time() - 3600,$cookiepath,$cookiedomain,0); header("Location:".$_SERVER['PHP_SELF']); } } if(isset($_POST["submit"])){//检查是否点击了提交按钮 $username=trim($_POST['username']); $pwd=trim($_POST['password']); //主站验证登陆,为简单起见,这里只作简单的示范 if($username==$check_username && $pwd==$check_password){//测试时这个用户名必须在论坛里也存在 $db = new dbstuff; $db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);//$dbhost,$dbuser,$dbpw,$dbname,$pconnect是在bbs/config.inc.php里定义的变量 $sql="select * from cdb_members where username='$username'"; $rs = $db->query($sql); if($dzmember = $db->fetch_array($rs)){ setcookie('myusername',$username,time()+3600,$cookiepath,$cookiedomain,0);//设置主站自身的cookie setcookie("{$tablepre}sid",'',time() - 3600,$cookiepath,$cookiedomain,0);//让discuz的sid过期是为了让discuz重新分配一个新的sid setcookie("{$tablepre}auth", authcode("$dzmember[password]\t$dzmember[secques]\t$dzmember[uid]", 'ENCODE'),time()+3600,$cookiepath,$cookiedomain,0);//$cookiepath和$cookiedomainbbs/config.inc.php里定义的变量 header("Location:".$_SERVER['REQUEST_URI']); } } } //下面这个函数是discuz的用户cookie编码函数,已修改,原型在$path_bbs/include/global.func.php function authcode($string, $operation) { global $_SERVER, $_DCACHE,$path_bbs; require_once "forumdata/cache/cache_settings.php";//需要获取论坛的authkey $discuz_auth_key = md5($_DCACHE['settings']['authkey'].$_SERVER['HTTP_USER_AGENT']); $coded = ''; $keylength = strlen($discuz_auth_key); $string = $operation == 'DECODE' ? base64_decode($string) : $string; for($i = 0; $i < strlen($string); $i += $keylength) { $coded .= substr($string, $i, $keylength) ^ $discuz_auth_key; } $coded = $operation == 'ENCODE' ? str_replace('=', '', base64_encode($coded)) : $coded; return $coded; } ?> <?php if(@$_COOKIE['myusername']==''){ ?>

用户名:测试用户名为admin,请更改为你的用户名
密码:测试密码为123456
<?php } else echo("登陆成功,请到论坛检查登陆
退出登陆 "); ?> discuz同服务器下无passport登陆整合方法 这段代码我是从网上拷贝下来的, 登陆提示说,,,"登陆成功" 但是我点"请到论坛检查登陆"" 但是cookie不起作用了, 到登陆以后还是没有登陆成功的, 帮我看看呀, [ 本帖最后由 yhf111 于 2007-4-27 03:29 PM 编辑 ]

提问者:yhf111   08-22 15:03
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
97 + 37 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM