8
私はASPのクラシックでフォームを設定することだし、それは提出(アクション自己)ASP古典
しかし、それは以前の応募の結果を示している。この時間後にリロードされますので、私はことをどのように確認することができますPOSTの提出が行われましたか?
PHPのように:
if($_POST['submit']) {
show results...
}
私はASPのクラシックでフォームを設定することだし、それは提出(アクション自己)ASP古典
しかし、それは以前の応募の結果を示している。この時間後にリロードされますので、私はことをどのように確認することができますPOSTの提出が行われましたか?
PHPのように:
if($_POST['submit']) {
show results...
}
あなたはいくつかのオプションがあります: -
方法1をリクエストメソッドチェック:
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
'Show Results...
End If
を方法2 - 追加あなたのフォームに非表示フィールドを入力し、値をチェックします。掲載されています
If Request.form("HiddenValue") = "1" Then
'Show Results...
End If
方法3 - Request.Formコレクションが項目が含まれている場合チェック:
If Request.Form.Count > 0 Then
'Show Results...
End If
方法4 - クエリ文字列に投稿(すなわち、 <form>
の設定方法?ポスト=はい)
If Request.QueryString("post") = "yes" Then
'Show Results...
End If
1を選ぶには?
好きな方法は方法4です。アドレスバーに何が起こっているかを簡単に見ることができます。何らかの理由でURLの詳細レベルを提示したくない場合は、オプション3を使用する傾向があります。実装が簡単で、ソースフォームに変更を加える必要はありません&は信頼性があります。他の2つの方法については :
いいですが、お勧めしますか?異なるアプローチはどのように比較されますか? – AnthonyWJones
@AnthonyWJonesええ、良い点は、解答を少し解明するために編集されました。 – HeavenCore
FWIW、私は方法1をお勧めします。あなたが制御しないサーバー上の奇妙なFUDは、あなたが別のホストを見つけなければならない、おそらくこのような基本的なことをするサーバーを信頼できないならば不合理です。 'REQUEST_METHOD'変数は、どのHTTPメソッドが使用されているかを検出するためのものです。方法2と4では、開発者はコードを不要な内容で汚染する必要があるため、代替案が利用可能な場合はIMOを避けるべきです。方法4もかなり良いアプローチですが、方法1の明確な目的が欠けています。 – AnthonyWJones