ホームページ >データベース >mysql チュートリアル >`if(isset($_POST['submit']))` がエコーとテーブルを非表示にしないのはなぜですか?

`if(isset($_POST['submit']))` がエコーとテーブルを非表示にしないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-07 15:25:03303ブラウズ

Why Doesn't `if(isset($_POST['submit']))` Hide My Echoes and Table?

if(isset($_POST['submit'])) がエコーとテーブルを非表示にしない理由

if(isset を使用する場合) ($_POST['submit'])) 条件の場合、目標は、フォームの [送信] ボタンがクリックされた場合にのみコンテンツを表示することです。ただし、提供されたコードでは、isset($_POST['submit']) 条件が true と評価されないため、スクリプトを開いたときにエコーとテーブルが表示されます。

根本原因

問題は、送信ボタンに name 属性がないことにあります。名前がないと、POST 配列 ($_POST['submit']) の対応する値が空になり、isset($_POST['submit']) 条件が常に false と評価されます。

修正

この問題を解決するには、送信ボタンに name 属性を追加します。

<p><input type="submit" value="Submit" name="submit" /></p>

この変更により、$_POST['submit'] の値はボタンがクリックされたときに設定され、isset($_POST['submit']) 条件が期待どおりに機能するようになります。エコーとテーブルは、ボタンをクリックした後にのみ表示されるようになりました。

以上が`if(isset($_POST['submit']))` がエコーとテーブルを非表示にしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。