0

私は単一のアクション、すべてのフォームによって呼び出される単一の php ページを持つ複数のフォームを持っています。

どのフォームがphpページに送信されたかを区別するにはどうすればよいですか?

4

5 に答える 5

4

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";
于 2013-06-20T12:41:45.100 に答える
1

各フィールドに非表示フィールド (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;
        }
    }

?>
于 2013-06-20T12:43:25.483 に答える
0

各送信ボタンに別の名前を付けるか、各フォームに異なる値の を配置します。

于 2013-06-20T12:42:56.277 に答える
0

送信に次のような異なる値がある場合、送信ボタン自体からもこれを検出できます。

名前の更新、プロフィールの更新、ユーザーの削除...

于 2013-06-20T12:43:16.387 に答える