2012-01-16 9 views
0

「同じページ」フォームを適切に処理しているかどうかはわかりません。
私のやり方は、"行動"と入力した隠し入力を私のフォームにvalue='1'で追加しています。
そして、ページの先頭に、$_POST["action"]に値があるかどうかを確認し、そうであればコードを実行します。POSTメソッドの情報を同じページに取得する正しい処理

これが正しい方法であるかどうかわかりません。それを行うための他の方法があれば、私は知って幸せになるでしょう。
ありがとうございます。 POSTリクエストを検出する

+0

私は通常ちょうど送信ボタンに異なる名前/値を与えます。 – vascowhite

答えて

2

もう一つの方法は次のとおりです。

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    // ... deal with $_POST parameters 
} 

あなたがリクエストメソッドのためだけでなく、チェックする必要があります。ユーザーの入力を常に検証します。

+0

あなたの答えをありがとう、Rob W. –

1

あなたは正しい方法でやっていると思います。

私は実際に隠しフィールドをもっと使いたいと思っています。それはあなたが別のPOSTの種類をお互いから分離しておくことができます。

ログイン用と登録用の2つのフォームがあるページがあるとします。あなたはログインのために$_POST['login_submit']と呼ばれ、$_POST['register_submit']のための別のフィールドを持つことができます。もちろん、それらは両方とも異なって検証されるだろう。この方法は、個人的には、コードの可読性が向上します。

例:

if ($_POST['login_submit']) 
{ 
    validate and do something... 
} 
elseif ($_POST['register_submit']) 
{ 
    validate and do something else... 
} 
+0

答えてくれてありがとうNicolas。 –

関連する問題