ASP クラシックでフォームを設定していますが、送信後にリロードされます (アクション セルフ)。
今回は前回の投稿の結果が表示されているのですが、POST の投稿が行われたことを確認するにはどうすればよいでしょうか。
PHPのように:
if($_POST['submit']) {
show results...
}
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 - クエリ文字列に投稿する (つまりaction
、<form>
toのセット?post=yes
)
If Request.QueryString("post") = "yes" Then
'Show Results...
End If
どれを選ぶ?
私が好むオプションは方法 4 です。これは、何が起こっているかをアドレス バーで簡単に確認できるためです。何らかの理由でこのレベルの詳細を URL に表示したくない場合は、実装が簡単なオプション 3 を使用する傾向があります。ソースフォームを変更する必要がなく、信頼性があります。他の 2 つの方法については、次のとおりです。