2012-06-06 6 views
0

하나의 텍스트 상자가 있습니다. 그것은 이름 예입니다.

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

예를 들어 데이터를 확인하고 싶습니다. 나는 아래와 같은 코드를 사용하려고 :

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

을하지만 페이지가 처음 입력 할 때이 코드를 인쇄합니다. 제출을 클릭 할 때만 인쇄 된 데이터를보고 싶습니다. 서버에 POST이 있다면

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    if(empty($_POST["example"])) 
     { 
      echo "You need to enter any text to example box."; 
     } 
} 

이 확인하고 당신은 당신의 조건이있을 것이다 :

if(!isset($_POST["submitButtonName"])) 
{ 
    // validation logic here 
} 

답변

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

조심성 있고,'0'과''0 ''은 공백으로 간주됩니다. 너는 그걸 원하지 않을거야. –

3

검사는 사용할 수 있습니다.

+0

왜 "submitButtonName"을 확인 하시겠습니까? 복사 - 붙여 넣기 오류입니까? –

+0

@JonathanM 제출 버튼을 클릭하면 어떻게됩니까? –

+1

제출 버튼을 사용하고 있다는 증거는 없습니다. 나는 시리우스 로브의 대답에 대해 같은 논쟁을한다. –

0

그것의 더 나은 선택을위한

+0

이것은 "O"또는 0 값을 실격 처리합니다. –

0
if (!empty ($_POST)) 
{ 
    // Validation logic here 
    if ((!isset ($_POST ['example'])) || (empty ($_POST ["example"]))) 
    { 
     echo "You need to enter any text to example box."; 
    } 
} 
else 
{ 
    // No need to do any validation logic, the form hasn't been submitted yet. 
} 
+0

"O"또는 0의 값을 실격 처리합니다. –

+0

OP 코드는 0을 부적절하게 처리합니다. 그가 구현 한 행동으로 가야하고 잘못하지 않았다고 잘못 표시됩니다. – GordonM

-1

먼저 submit 버튼을 확인하십시오. empty 만이 "emptyish"가 있는지 알려진 변수를 검사하기위한 것입니다 -

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

<?php 
    if (isset($_POST['submit'])) { 

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

'제출'버튼이 없을 수도 있습니다. –

+0

@JonathanM. 이는 "제출을 클릭 할 때만 인쇄 된 데이터를보고 싶습니다."라는 뜻입니까? –

+1

그는 버튼처럼 보이고 아약스를 사용하여 이미지를 제출할 수 있습니다. –

3

isset 여기에 적절한 선택입니다. docs

에 따르면 다음과 같은 것들이 빈 것으로 간주됩니다 : 그것은 정의되지 않은 배열 구성원을 처리하는 방법은 말하지 않는다 무엇

"" (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

참고하지만, 부모가 수행하고 문자열이 거짓 을 반환 할 것이다 비어 있습니다. 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/

+0

예, 조정 된 예 : –

+0

+1, 올바른 대답입니다. –

0

확인 $ _POST 변수는 페이지가 제출 될 때만 사용할 수 있기 때문에 먼저 변수를 지정합니다.

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

잘못된 조건, 'if (! empty ($ _ POST)) ...'입니다. –

+0

감사합니다. 입력하는 동안 놓쳤습니다. –

+0

이렇게하면 "O"또는 0의 값이 실격됩니다. –