2013-01-17 2 views
0

내가 가지고있는 양식을 제출 한 다음 HTTP 문자열 출력하는 형태 : & Field112 = E05를HTTP GET : VAR이 비어 있는지 확인

Field109 = E01를 & Field209 = 입력 +의 + 메시지 + 여기에 21 % & & Field111 Field110 = = = & & Field113 Field114 = & & Field116 Field115 = = = & & Field117 Field118 = & & Field120 Field119 = = = & CreatedBy 공개DateCreated = 2013년 1월 17일 + 08 % 3A43 % 3A45 & ENTRYID = 14 & IP = 98.246.50.81 & HandshakeKey =

제출을 처리하는 내 PHP 스크립트에서

, 나는 여부를 확인하려면 각 필드를 확인 그것은 설정됩니다. 위에서 볼 수 있듯이 문제는 양식을 제출할 때 입력란이 비어 있어도 여전히 HTTP 문자열에 남아 있고 isset()이 설정되어 있다고 판단하고 처리하는 것입니다.

필드가 실제로 비어 있는지 확인하려면 어떻게해야합니까? 예를 들어 Field110Field111은 비어 있어야하지만 내 PHP 스크립트는 설정되어 있다고 생각합니다. 필드가 진정으로 비어있는 경우

if (isset($_GET["Field110"])) { 
    array_push($apnsarray, "E02"); 
} 
if (isset($_GET["Field111"])) { 
    array_push($apnsarray, "E03"); 
} 

답변

6

사용 empty()

if(!empty($_GET['Field110'])){ 
    array_push($apnsarray, "E02"); 
} 
// etc... 
2

어떻게 확인합니까? empty()

isset()

변수가 설정되어 있는지 판단하고 NULL 아니다. 반면 empty() 값이 이 비어 있는지 확인합니다..

귀하의 경우 isset()은 위의 정의에 따라 true를 반환합니다. 대신 값이 필요한 값으로는 empty()을 사용하십시오.

0

글쎄, 가능한 값은 무엇입니까? 0이 아닌 그

if(isset($_GET['Field110']) && strlen(trim($_GET['Field110']) != 0) { 
    // not empty 
} 

을하지만 오직 있다면 거 문자 또는 뭔가 구성 : 는 0과 만 0가있을 경우,이 권하고 싶습니다

if(!empty($_GET['Field110'])) { 
    //not empty 
} 

이것은 empty() 문서에서입니다 :

The following things are considered to be 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; (a variable declared, but without a value) 

empty()

관련 문제