2014-06-04 2 views
0

참조 페이지에 captcha가 잘못 입력 된 경우 가능한 여러 페이지 중 하나로 돌아가고 싶습니다. 이것은 내가 시도하고 오류가있을 때 리디렉션을 우회하여 성공 페이지로 이동시킵니다. 내가 Response.Redirect를 넣어 경우 ("somepage.asp")는이 문제를 작동하지 않습니다하지만 난이, 당신의 의견에 따라 여러 페이지 참조 자응답 리디렉션 이전 페이지 classic asp

Call ValidateCAPTCHA() 
If m_CAPTCHAPASS<>1 then 
Session("ValidCAPTCHA")="false" 
Dim redirectpage 
redirectpage = Request.ServerVariables("HTTP_REFERER") & "e=1" 
Session("FirstName")=Request.Form("First_Name") 
Session("Phone")=Request.Form("Phone") 
Session("EMail")=Request.Form("EMail") 
Session("Comments")=Request.Form("Comments") 
response.redirect(Request.redirectpage) 
end if 
'send email script follows 
+0

'Request.ServerVariables ("HTTP_REFERER")'의 내용을 확인할 수 있습니까? 그냥 페이지로 출력하십시오. –

+0

좋아, 내가 실수를 발견했다 .... e = 1을 추가하는 리퍼러가 있어야 하나? e = 1 ... 이제 문제는 잘못된 captcha를 여러 번 제출하면 매개 변수를 계속 추가한다는 것입니다. http : // www .somesite.com/referen 페이지 .asp? e = 1 http://www.somesite.com/referringpage.asp?e=1?e=1 등등 – user2129560

답변

1

을 처리하기 위해 여러 매개 변수 추가를 방지하기 위해, 단지 매개 변수가 이미 추가 한 경우 확인 필요 . 다음과 같이 :

Dim redirectpage 

redirectpage = Request.ServerVariables("HTTP_REFERER") 
If Right(redirectpage, 4) <> "?e=1" Then redirectpage = redirectpage & "?e=1" 
'.... the rest of the code 
+0

감사합니다. – user2129560