2012-02-29 4 views
0

기본적으로 dvds.asp이라는 양식의 페이지가 action="process.asp"으로 있습니다. process.asp 스크립트는 Name, SurnameEmail 필드의 유효성을 검사합니다. 전자 메일이 없으면 원래 페이지 (dvd.asp)로 리디렉션되고 사용자 지정 오류가 표시됩니다.vbscript 서버 쪽 유효성 검사

전자 메일 필드의 유효성 검사 및 리디렉션 수행 방법을 알고 있습니다. 유일한 문제는 dvds.asp에서 맞춤 오류 값을 얻는 방법입니다.

도움이 필요하십니까? :) 참고로

: 나는 process.asp에이 코드를 사용하고

유효성을 검사 :

지금 내가 dvds.asp 페이지에 표시 할 오류는
if txtEmail = "" then 
Server.Transfer(Request.ServerVariables("HTTP_REFERER")) 
else 

: "이메일 해주세요 ".. 내가 어떻게 그걸 할 수 있니?

답변

3
, (예를 들어, 당신은 어떻게 이메일을 검증하는 모든 소스를 보지 않고 말을? 무엇이 "사용자 정의 오류 값"입니까?

당신이 이메일을 확인하고 그이면 false를 반환하는 함수를 가정하면 하드

실패하고 일치하는 오류 값은 "1"그럼 당신은 단순히 당신의 리디렉션이 포함될 수 있습니다 : 다음과 같이

Dim EmailAddress 
EmailAddress = Request.Form("EmailAddress") 
If ValidateEmail(EmailAddress) = False Then 
    Response.Redirect("dvd.asp?ErrorID=1") 
End If 

와 망하는 소스 페이지에

, 당신은 단지 사용자에게 다시 오류를 표시 할 수 있습니다 :

'#### Output errors 
    If Trim(Request.QueryString("ErrorID")) <> "" Then 
     Select Case Request.QueryString("ErrorID") 
      Case "1" ' #### Email Error 
       Response.Write("<p><span style=""color: red"">Error: Invalid email address</span></p>") 
      Case "2" ' #### Bad Name 
       Response.Write("<p><span style=""color: red"">Error: Invalid Name</span></p>") 
      Case Else 
       Response.Write("<p><span style=""color: red"">Error: Unknown/Generic Error</span></p>") 
     End Select 
    End If 

작은 제안 하나만 있습니다. 동일한 페이지에 게시하고 클래스/SSI에서 필요한 이메일 기능을 포함하기 위해 이와 같은 페이지에 자주 선호됩니다. 이렇게하면 최종 사용자가 오류가 발생했을 때 전체 양식을 다시 입력 할 필요없이 오류가 발생하면 양식이 다시 자동 채워집니다.

+0

나는 검증하기 위해 process.asp에서이 코드를 사용하고 있습니다 : 경우 txtEmail = ""다음 Server.Transfer를 (에서 Request.ServerVariables ("HTTP_REFERER")) 다른 지금은에 표시 할 오류 dvds.asp 페이지 : "귀하의 이메일을 기입하십시오".. 어떻게 할 수 있습니까? –

+2

HTTP_REFERER에 쿼리 문자열이 포함되어 있는지 확인하고 "& ErrorID = 1"을 추가하지 않으면 "? ErrorID = 1"을 추가합니다 (예 : Server.Transfer (Request.ServerVariables ("HTTP_REFERER") & "ErrorID = 1 ") - 원본 페이지는 ErrorID 값을 감지하고 관련 메시지를 표시해야합니다. – HeavenCore

+0

네, 그게 내 질문 이었어 :) 원래의 페이지가 어떻게 원래의 오류 메시지를 얻을거야. –

관련 문제