ホームページ  >  記事  >  データベース  >  `if(isset($_POST['submit']))` を使用すると、PHP コードでエコーとテーブルが表示されないのはなぜですか?

`if(isset($_POST['submit']))` を使用すると、PHP コードでエコーとテーブルが表示されないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-06 16:00:04426ブラウズ

Why Doesn't My PHP Code Display Echoes and a Table When Using `if(isset($_POST['submit']))`?

if(isset($_POST['submit'])) を使用してもエコーとテーブルが表示されない理由

PHP スクリプトでは、if(isset($_POST[ 'submit'])) は、フォームが送信されたかどうかに基づいてコンテンツを条件付きで表示するためによく使用されます。ただし、送信ボタンに適切な name 属性がないため、この手法はコードでは機能しません。

if(isset()) 関数について

if(isset()) 関数のチェック特定の変数が設定されている場合、これはその変数が宣言され初期化されていることを意味します。あなたの場合、 if(isset($_POST['submit'])) は変数 $_POST['submit'] が存在するかどうかをチェックします。

送信ボタンに名前属性がありません

問題これは、次に示すように、送信ボタンに name 属性がないために発生します:

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

name 属性がないと、送信されたフォーム データには $_POST['submit'] 変数が含まれず、if (isset($_POST['submit'])) 条件は常に false です。

問題の修正方法

これを修正するには、送信ボタンに一意の値を持つ name 属性を追加するだけです。

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

これにより、フォームの送信時に必要な $_POST['submit'] 変数が作成されます。

この修正により、コードにエコーとテーブルが表示されるようになります。 「送信」ボタンがクリックされた場合のみ、今のように if(isset($_POST['submit'])) はフォームが送信されたときに true と評価されます。

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

if(isset($_POST['submit'])){
    // Display echoes and table
}
....

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

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