0

私は1つのテキストボックスを持っています。名称は一例です。

<input type="text" name="example"/>

確認したいのですが、データが例から来ているかどうか。私は以下のようにコードを使用しようとしました:

<?php
if(empty($_POST["example"]))
{
      echo "You need to enter any text to example box.";
}
?>

しかし、このコードは印刷されており、ページに入ると最初になります。送信をクリックしたときだけ、印刷されたデータを見たい。

4

7 に答える 7

3

issetここでは適切な選択ですempty。既知の変数を調べて、それが「空」であるかどうかを確認することのみを目的としています。ドキュメントによると

次のものは空と見なされます。

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)

それが言っていないのは、定義されていない配列メンバーをどのように扱うかです。ドキュメントページのコメントは、テストからの洞察を提供してくれます: http://www.php.net/manual/en/function.empty.php#105722

サブキーが存在しないが、親が存在し、文字列である場合、配列のサブキーの存在をチェックすると、空の場合は false が返されることに注意してください。

一方isset( docs ) は、「変数が設定されていて NULL ではないかどうかを判断する」ように設計されています。まさにあなたが求めているものです。したがって、コードは次のようになります。

// check the length, too, to avoid zero-length strings
if(!isset($_POST["example"]) || strlen(trim($_POST["example"])) < 1) {
     echo "You need to enter any text to example box.";
} else {
    // handle form submission
}

ドキュメンテーション

PHP isset- http://php.net/manual/en/function.isset.php

PHP empty- http://www.php.net/manual/en/function.empty.php

もっと読む - http://virendrachandak.wordpress.com/2012/01/21/php-isset-vs-empty-vs-is_null/

于 2012-06-06T19:39:18.413 に答える
0

$_POST 変数は、ページが送信されたときにのみ使用できるため、最初に確認してください。

<?php
    if(!empty($_POST)){
      if(isset($_POST['example']) && empty($_POST['example'])){
         echo "You need to enter any text to example box.";
      }         
   }
 ?>
于 2012-06-06T19:41:44.650 に答える