/* 用户存在,则生成加密的cookie信息,并作为参数拼装到URL中重定向到论坛的实际地址 */
if( $member['uid'] ) {
print ('<script>');
print ("alert('--------------------------');");
print ('</script>');
$ssoauth = base64_encode(authcode($member['password']."\t".$member['secques']."\t".$member['uid'], 'ENCODE'));
$ssourl = $_DCACHE['settings']['siteurl'] . substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'], "/"));
$ssourl = "$ssourl?ssoauth=$ssoauth&time=" . time();
// 采用js来进行重定向,并将url拆分,以免被WebSEAL截获并修改
print ('<script>');
//print ('location.replace("' . substr($ssourl,0,6) . '"+"' . substr($ssourl,6) . '")');
print ('alert("' . substr($ssourl,0,6) . '"+"---------------"+"' . substr($ssourl,6) . '");');
print ('location.replace("http://10.222.1.104:8080/discuz/forumdisplay.php?fid=26")');
print ('</script>');
}
那位高手能改改这段代码 我不想用 “print ('location.replace("http://10.222.1.104:8080/discuz/forumdisplay.php?fid=26")');
” 他无法把我前面获取到的用户信息带进去 实际自动登录 还是用前面被注释的那部分好,拜托了 只会java 没学过php

解决方案 »

  1.   

    不知道是不是楼主想要的/* 用户存在,则生成加密的cookie信息,并作为参数拼装到URL中重定向到论坛的实际地址 */
            if( $member['uid'] ) {    
                print ('<script>');
                print ("alert('--------------------------');");
                print ('</script>');
                $ssoauth = base64_encode(authcode($member['password']."\t".$member['secques']."\t".$member['uid'], 'ENCODE'));
                $ssourl = $_DCACHE['settings']['siteurl'] . substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'], "/"));
                $ssourl = "$ssourl?ssoauth=$ssoauth&time=" . time();
                // 采用js来进行重定向,并将url拆分,以免被WebSEAL截获并修改
                print ('<script>');
                print ('location.replace("' . $ssourl. '")');
                print ('</script>');
            }
      

  2.   

    。 肯定不是啊~~ 我想要的页面既能跳转到 ("http://10.222.1.104:8080/discuz/forumdisplay.php?fid=26")   又能把用户信息带进来 ,楼上朋友写的那样跳转的页面不是我想要的
      

  3.   

    是单点登录,我在一个系统(java)中的jsp页面里有个href,单击能够把源系统中的用户信息挂在url后面带到discuz中,同时自动登录,并跳转到discuz下的这个“8080/discuz/forumdisplay.php?fid=26” 模块中
      

  4.   

    $ssourl = "$ssourl?ssoauth=$ssoauth&time=" . time();//能判断登陆吧?
    $ssoauth = base64_encode(authcode($member['password']."\t".$member['secques']."\t".$member['uid'], 'ENCODE'));//把这个挂在链接中http://10.222.1.104:8080/discuz/forumdisplay.php?fid=26
    在跳转到的链接中使用$ssourl页面的判断登陆代码
      

  5.   

    /* 用户存在,则生成加密的cookie信息,并作为参数拼装到URL中重定向到论坛的实际地址 */
    if( $member['uid'] ) {
    $ssoauth = base64_encode(authcode($member['password']."\t".$member['secques']."\t".$member['uid'], 'ENCODE'));
    $ssourl = $_DCACHE['settings']['siteurl'] . substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'], "/"));
    $ssourl = "$ssourl?ssoauth=$ssoauth&time=" . time();
    $erpssourl = "http://10.222.1.104:8080/discuz/forumdisplay.php?fid=26&ssoauth=$ssoauth&time=". time();
    // 采用js来进行重定向,并将url拆分,以免被WebSEAL截获并修改
    print ('<script>');
    //print ('location.replace("' . substr($ssourl,0,6) . '"+"' . substr($ssourl,6) . '")');
    print ('location.replace("'.$erpssourl.'")');
    print ('</script>');
    }
    已经这样写了 还是不行
      

  6.   

    print ('<script src="'.$ssourl.'"></script>');
    print ('<script>');
    print ('window.onload=function(){location.replace("http://10.222.1.104:8080/discuz/forumdisplay.php?fid=26");};');
    print ('</script>');
      

  7.   

    使用了你的方法,跳转到discuz的页面不再是登陆页面,换成了提示信息页面,因为这个论坛有一个限制,在某一个时间段内是无法访问论坛的,最晚先知道20:00 我已经把电脑中的系统时间改成21:00了 ,结果还是会出现这个时间限制的,这是为什么呢?
      

  8.   

    9楼的朋友,不知道 你注意了没有,在我发一楼发的代码中有一行被注释的代码,//print ('location.replace("' . substr($ssourl,0,6) . '"+"' . substr($ssourl,6) . '")');
    那是原来的代码,我修改的时候注释了,也alert了,发现没有什么意义,为什么要那么做呢