Что может быть печенье? Как установить с OUTPUT? ReturnValue? - PullRequest
0 голосов
/ 19 апреля 2010

Я думаю, у меня возникли проблемы с настройкой данных 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, он будет работать? спасибо ..

1 Ответ

0 голосов
/ 19 апреля 2010

Я не уверен, что понимаю вопрос. Я думаю, что ваша проблема в том, что вы ожидаете, что Request.Cookies («UTID») будут доступны сразу после его установки (я предполагаю, что это делается в функции SetDomainCookie, которую вы забыли включить). Я долго не работал в классическом ASP, но если я правильно помню, область действия сценария ASP не будет иметь доступа к этому значению cookie, пока вы не сделаете еще один проход (например, перезагрузите страницу). Поэтому я бы предложил извлечь значение из серверного скрипта на странице, представленной urlserver, или просто заполнить поле формы, используя локальную переменную UTid вместо значения Request.Cookies ():

Response.Write "...<input type=hidden name=id value=""" & UTid & """>"
...