我认为我在设置cookie数据时遇到了一些问题。对于此代码:
Set cmdDB = Server.CreateObject("ADODB.Command")
With cmdDB
.ActiveConnection = ADOConM
.CommandText = "usp_jaljava_member_select"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 0)
.Parameters.Append .CreateParameter("@TLoginName", adVarChar, adParamInput, 15,lcase(TLoginName))
.Parameters.Append .CreateParameter("@TPassword", adVarChar, adParamInput, 20,TPassword)
.Parameters.Append .CreateParameter("@retval", adVarChar, adParamOutput, 50)
' .Parameters.Append .CreateParameter("@TPinCode", adVarChar, adParamInput, 15,TPinCode)
.Execute,,adExecuteNoRecords
RetVal = .Parameters("@retval")
Ret = Trim(.Parameters("RETURN_VALUE"))
'Set .ActiveConnection = Nothing
End With
Set cmdDB = Nothing
UTid = RetVal
if Ret = 100 then
deleteInvalidLogin(TLoginName)
SetDomainCookie "UTid",UTid
SetDomainCookie "Uid", TLoginName
if redirect_domain <> "" then
Response.Write "<form name=frm action=" & urlserver & " method=post><input type=hidden name=loginname value='" & TLoginName & "'><input type=hidden name=id value=""" & Request.Cookies("UTID") & """></form><script>frm.submit();</script>"
Response.End
else%>
<%
Response.Redirect ("kologin.asp?id=OK")
Response.End
end if
RETURN_VALUE返回100。 但我不知道.. UTID!什么是UTID必须?如果我将UTID设置为与UID相同,它会起作用吗?感谢..
答案 0 :(得分:0)
我不确定我理解这个问题。我认为您的问题是您希望Request.Cookies(“UTID”)在设置后立即可用(我假设这是在SetDomainCookie函数中完成的,您忘了包含它)。我已经很长时间没有使用经典ASP了,但如果我没记错,ASP脚本的范围将无法访问该cookie值,直到你再次传递(例如重新加载页面)。所以我建议从urlserver表示的页面检索服务器端脚本中的值,或者只使用本地UTid变量而不是Request.Cookies()值填充表单字段:
Response.Write "...<input type=hidden name=id value=""" & UTid & """>"