どのボタンが PHP フォームの送信をトリガーしたかを特定するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-11 19:51:03
オリジナル
1035 人が閲覧しました

How Can I Identify Which Button Triggered a PHP Form Submission?

どのボタンが PHP フォームの送信をトリガーしたかを判断する

複数の送信ボタンを含むフォームを扱う場合、どのボタンが送信されたのかを特定することが重要です。フォームが送信されるときにクリックされます。ここでは、PHP でこれを実現する方法について包括的に説明します:

$_SERVER['REQUEST_METHOD'] 変数と $_POST 変数の使用:

2 つの送信ボタンがある次の HTML フォームを考えてみましょう:

<input type="submit">
ログイン後にコピー

どのボタンがクリックされたかを判断するには、次の PHP コードを利用できます:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  // Something posted

  if (isset($_POST['btnDelete'])) {
    // btnDelete 
  } else {
    // Assume btnSubmit 
  }
}
ログイン後にコピー

このコードは、$_SERVER['REQUEST_METHOD'] が 'POST' に等しいかどうかを確認します。フォームが送信されたことを示します。次に、クリックされた送信ボタンの name 属性 (btnDelete など) が $_POST 配列に存在するかどうかを確認します。存在する場合は、対応するボタン (この場合は btnDelete) がクリックされています。それ以外の場合は、最初の送信ボタン (この場合は btnSubmit) がクリックされたと想定されます。

デフォルトの送信ボタンを想定することの重要性:

次のことが重要です。常にデフォルトの送信ボタンを想定します。このボタンは、フォームの HTML ソース コードに表示される最初の送信ボタンです。ブラウザーは、ボタンがクリックされたとき、またはボタンにフォーカスがあるときにユーザーが Enter キーを押したときに、送信ボタンの名前と値を送信データとともに一貫して送信します。

フォーム処理に関するその他の考慮事項:

JavaScript や不明瞭なメソッドの使用など、フォームを送信する他の方法も存在することに注意してください。特定の状況では、ブラウザーが送信ボタンの名前と値を送信しない可能性もあります。信頼性の高いフォーム処理を確保するには、常にこれらの詳細に注意を払い、送信ボタンの名前と値のチェックのみに依存しないようにしてください。

この包括的なアプローチにより、どのボタンが PHP フォームの送信をトリガーしたかを識別する信頼性の高い方法が提供されます。ブラウザのバリエーションまたは代替のフォーム送信テクニック。

以上がどのボタンが PHP フォームの送信をトリガーしたかを特定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート