私はPHPフォーム処理チュートリアルを読んでいますが、フォームに隠しフィールドを使用することを提案しているためIF ($_POST['hidden_field'] == whatever
、フォームが送信されたか、表示されただけかを検出するためにPHPが何かを使用できるようになっています。
しかし、Notepad++ を使用してコードをステップ実行し、変数を観察した後では、隠しフィールドを完全に削除XDebug
できない理由がわかりません。IF ($_POST['submit_button'] == 'Ok')
結局のところ、非表示フィールドが設定されていて、他のフォーム フィールドも設定されていない場合はないようです (それらが空であっても)。初めて、フォームが表示され、送信される前に、$_POST
変数は既に存在しますが、空です。IF (!empty($_POST))
フォームが送信されたかどうかを確認するためにも使用できると思いますか?
フォームの送信を検出するために隠しフィールドが必要な特別なケースはありますか?
編集:わかりました、私が行方不明で、隠しフィールドが必要な特別なケースはこれのようです。http://www.vbforums.com/showthread.php?562749-PHP-Checking-if-a-form-has-been-submitted-the-correct-way Enter キーを押してフォームを送信すると、 $_POST 変数には、送信ボタンの値は含まれません。Chrome はそのようには動作しないようですが、他のブラウザでは動作する可能性があります。