2012-02-29 25 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

(たとえば、どのように電子メールを検証する、任意のソースを見ずに言うのは難しい?この「カスタムエラー値」とは何ですか?

あなたは電子メールを検証し、その場合はfalseを返す関数を持っていると仮定すると、失敗し、マッチングエラー値が「1」、あなたは単にあなたのリダイレクトでこれを含めることができている:

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

とOrigionalソース]ページで、次のように、あなただけ戻って、ユーザーにエラーを表示することができます:

​​を

途方もない小さな提案です。このページは、同じページに投稿したり、クラス/ 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。 –

関連する問題