私は単一のアクション、すべてのフォームによって呼び出される単一の php ページを持つ複数のフォームを持っています。
どのフォームがphpページに送信されたかを区別するにはどうすればよいですか?
input type="hidden"
フォルムごとに異なる独自のものを使用。
HTML:
<input type="hidden" name="form_id" value="1">
<input type="hidden" name="form_id" value="2">
PHP:
$myform = $_POST["form_id"];
送信ボタンを使用することもできますが、「値」パラメーターはユーザーに表示されるものであるため、変更できないことに注意してください (すべてのボタンに同じテキストを表示したい場合)。
<input type="submit" name="action" value="the user saw this">
PHP:
$_POST["action"] // -> "the user saw this";
各フィールドに非表示フィールド (action
など) を追加してから、それを確認します。
<form id="num1">
<input type="hidden" name="action" value="first_action" />
</form>
...そしてチェック:
<?php
if(!empty($_REQUEST['action']) {
switch($_REQUEST['action']) {
case 'first_action':
// first action code
break;
}
}
?>
各送信ボタンに別の名前を付けるか、各フォームに異なる値の を配置します。
送信に次のような異なる値がある場合、送信ボタン自体からもこれを検出できます。
名前の更新、プロフィールの更新、ユーザーの削除...