2012-02-29 5 views
0

В основном у меня есть страница с именем dvds.asp с формой, которая отправляется на action="process.asp". Сценарий process.asp проверяет поля Name, Surname и Email. Я бы хотел, чтобы, если письмо не существует, на исходную страницу будет отправлено перенаправление (dvd.asp), а также отобразится пользовательская ошибка.Проверка на стороне сервера vbscript

Проверка поля электронной почты и перенаправление Я знаю, как это сделать. Единственная проблема заключается в том, как я собираюсь получить значение пользовательской ошибки в dvds.asp.

Любая помощь пожалуйста? :)

FYI:

Я использую этот код в process.asp для проверки:

if txtEmail = "" then 
Server.Transfer(Request.ServerVariables("HTTP_REFERER")) 
else 

Теперь ошибка, я хочу показать на dvds.asp странице: «Пожалуйста, введите Ваш адрес электронной почты «.. Как я могу это сделать, пожалуйста?

ответ

3

Трудно сказать, не видя любой источник (например, как вы проверку электронной почты? Что такое «значение ошибки Custom»?

Предполагая, что у вас есть функция, которая проверяет электронную почту и возвращает ложь, если ему терпит неудачу, и значение ошибки соответствия является «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

Да, и это был мой вопрос :), как оригинальная страница ios собирается получить исходное сообщение об ошибке, пожалуйста. –

Смежные вопросы