2010-04-19 17 views
0

我想我在設置cookie數據時遇到了一些問題。此代碼:什麼是cookie?如何設置OUTPUT?返回值?

 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

我不知道我理解這個問題。我認爲你的問題是你期望Request.Cookies(「UTID」)在設置後立即可用(我假設這是在你忘記包含的SetDomainCookie函數中完成的)。我很久沒有在傳統的ASP中工作過,但是如果我記得正確的話,那麼在您再次傳遞(例如重新加載頁面)之前,ASP腳本的範圍將無法訪問該cookie值。因此,我建議從由urlserver代表的頁面檢索服務器端腳本的值,或者僅使用本地UTid變量而不是Request.Cookies()值填充表單字段:

Response.Write "...<input type=hidden name=id value=""" & UTid & """>" 
Response.Write "...<input type=hidden name=id value=""" & UTid & """>" 
相關問題