兄弟姐妹:我自己添加了一个页面,如果是discuz那个动网论坛中的登录用户,
在这个页面中也显示是登录用户?
是需要得到cookie,或者session嘛?
怎么样得到啊?

解决方案 »

  1.   


    <?php
    $dz_config['dz_bbs_database'] = 'yourdb.';
    $dz_config['dz_table_prefix'] = 'cdb_';
    $dz_config['dz_bbs_domain'] = 'http://www.yourbbs.com/'; 
    $dz_config['dz_bbs_imgurl'] = 'http://www.yourbbs.com/attachments/'; 
    $dz_config['dz_cache_dir'] = '/app/web/www.yourbbs.com/forumdata/cache/';
    $dz_config['dz_cookie_prefix'] = 'cdb_'; if(include_once($dz_config['dz_cache_dir'] . 'cache_settings.php'))
    {
        $discuz_auth_key = md5($_DCACHE['settings']['authkey'].$_SERVER['HTTP_USER_AGENT']);
    }
    else
    {
        $thissetting = $DB->query_first("select * from " . $dz_config['dz_bbs_database'] . $dz_config['dz_table_prefix'] . "settings where variable = 'authkey'");
        $discuz_auth_key = md5($thissetting['value'].$_SERVER['HTTP_USER_AGENT']);
    }function daddslashes($string, $force = 0) {
        !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
        if(!MAGIC_QUOTES_GPC || $force) {
            if(is_array($string)) {
                foreach($string as $key => $val) {
                    $string[$key] = daddslashes($val, $force);
                }
            } else {
                $string = addslashes($string);
            }
        }
        return $string;
    }function authcode($string, $operation, $key = '') {    global $discuz_auth_key;
        $key = md5($key ? $key : $discuz_auth_key);
        $key_length = strlen($key);    $string = $operation == 'DECODE' ? base64_decode($string) : substr(md5($string.$key), 0, 8).$string;
        $string_length = strlen($string);    $rndkey = $box = array();
        $result = '';    for($i = 0; $i <= 255; $i++) {
            $rndkey[$i] = ord($key[$i % $key_length]);
            $box[$i] = $i;
        }    for($j = $i = 0; $i < 256; $i++) {
            $j = ($j + $box[$i] + $rndkey[$i]) % 256;
            $tmp = $box[$i];
            $box[$i] = $box[$j];
            $box[$j] = $tmp;
        }    for($a = $j = $i = 0; $i < $string_length; $i++) {
            $a = ($a + 1) % 256;
            $j = ($j + $box[$a]) % 256;
            $tmp = $box[$a];
            $box[$a] = $box[$j];
            $box[$j] = $tmp;
            $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
        }    if($operation == 'DECODE') {
            if(substr($result, 0, 8) == substr(md5(substr($result, 8).$key), 0, 8)) {
                return substr($result, 8);
            } else {
                return '';
            }
        } else {
            return str_replace('=', '', base64_encode($result));
        }
    }function get_dzuserid()
    {
        global $dz_config;
        $a = daddslashes(explode("\t", authcode($_COOKIE[$dz_config['dz_cookie_prefix'] . 'auth'], 'DECODE')), 1);
        return (int)$a[2];
    }
    ?>
    登陆后使用get_dzuserid获取登陆者ID
      

  2.   

    uc_center,用来整合discuz不错.
      

  3.   

    官方的接口技术文档,看看对你有没有帮助.http://www.discuz.net/usersguide/advanced_passport.htm