Dvbbs8.1整合后无法同步登录解决方法

使用"个人网站与动网整合步骤(支持PDO1.0)"中的会员系统整合Dvbbs7.1和8.0均能成功,但整合Dvbbs8.1时发现一个问题:从论坛中登录时论坛可以登录成功但会员系统中却没登录成功。会员系统肯定没问题,那问题就该在论坛上了,于是查看了登录相关函数(login.asp中Dvbbs_ChkLogin函数),下边是部分代码:

Dim comeurlname
If instr(lcase(request("comeurl")),"reg.asp")>0 or instr(lcase(request("comeurl")),"login.asp")>0 or trim(request("comeurl"))="" or instr(lcase(request("comeurl")),"index.asp")>0 Then
    comeurlname=""
    If isUrlreWrite = 1 Then
        Comeurl="index.html"
    Else
        comeurl="index.asp"
    End If
Else
    comeurl=request("comeurl")
    comeurlname="<li><a href="&request("comeurl")&">"&request("comeurl")&"</a></li>"
End If

If comeurl = "index.asp" Then
    Response.Redirect "index.asp"
    Response.End
End If


Dim TempStr
TempStr = template.html(2)
'If Dvbbs.Forum_ChanSetting(0)=1 And Dvbbs.Forum_ChanSetting(10)=1 And Dvbbs.Forum_ChanSetting(12)=1 Then
'    TempStr = Replace(TempStr,"{$ray_logininfo}",template.html(3))
'Else
'    TempStr = Replace(TempStr,"{$ray_logininfo}","")
'End If
'-----------------------------------------------------------------
'系统整合
'-----------------------------------------------------------------
If DvApi_Enable Then
    Response.Write DvApi_SaveCookie
    Response.Flush
End If

'-----------------------------------------------------------------

上边红色部分在Dvbbs7.1和8.0均没有,是Dvbbs8.1新加上去的,问题就出现在它身上!按《PDO通行接口开发人员参考规范1.0》4.3节中说明:

发送请求方解析检验方返回的xml数据说明可以登陆成功时,则应当构造一个script脚本调用,输出到页面的HTML代码。 当password为空表示注销COOKIE信息。

上边代码中蓝色部分就是输出script脚本的,但由于红色代码的存在,导致这个构造的script脚本没有输出到页面,导致从论坛上登录不成功!这也是为什么论坛登录成功了但会员系统却没登录成功!解决方法是:去掉上边代码红色部分!

评论: 1 | 引用: 0 | 查看次数: 4885
sky717[2008-01-17 09:14 AM | | | 222.64.255.194 | del | 回复回复]
沙发
强哥.真的很快..
发表评论
登录后再发表评论!