PHP – 複数のsubmitで処理を分ける

概要

複数のsubmitから異なるターゲットに遷移するには、formタグでaction属性を設定せず、それぞれのinputでformacion属性を設定する。

一つのターゲットで異なるsubmitごとの処理を分けたいときは、それぞれのinputにname属性を設定し、PHP側のissetでそれぞれが定義されているかどうかによって処理を分けるとよい。

以下のHTMLでは3つのsubmit(送信1、送信2、その他の送信)を配置し、前者2つにはname属性の値として”submit1″、”submit2″を設定し、その他の送信にはname属性を設定していない。

以下はこれを受け取るPHPコードで、isset()によって$_POST['submit1']$_POST['submit2']が定義されていればそれぞれに対応した処理をし、それ以外の場合には「その他の送信」としている。

実行すると3つの送信ボタンが表示され、それぞれを押すとボタンに対応したメッセージが表示される。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です