謎の解明: なぜ空のフォームでも "isset($_POST)" が常に True を返すのか
フォーム送信を処理するとき、 isset() 関数を利用して、特定のフィールド値が指定されているかどうかを確認するのが一般的です。ただし、送信されたフォームの対応するフィールドが空白のままであっても、isset($_POST["field_name"]) が常に true と評価されるという不可解な状況に遭遇する可能性があります。
難問の追跡:フォーム入力の動作を理解する
原因はフォーム入力の性質にあります。デフォルトでは、ユーザーが値を指定したかどうかに関係なく、ほとんどのフォーム入力は常に「設定」とみなされます。これは、空の文字列値が自動的に設定されるためです。
不足している部分: 空性チェックの組み込み
この問題に対処するには、isset() チェックを補足する必要があります。空っぽチェック付き。これを実現する 1 つの方法は、empty() 関数を使用することです。
空チェックを使用したコードの書き換え:
if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; }
説明:
結論:
コードに空チェックを組み込むことで、フォーム フィールドに値が提供されているかどうかを正確に判断でき、 "isset($_POST)" の問題は空のフィールドに対して常に true を返します。
以上が空のフォームに対して `isset($_POST)` が常に True を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。