2016-06-11 2 views
-2

최근에 html/css/js/php를 배우기위한 웹 사이트를 작성하기 시작했습니다.PHP IF-Statement는 내가 원하는 것처럼 작동하지 않습니다.

부트 스트랩으로 사이트의 프런트 엔드를 설계했습니다. 이제 PHP로 입력 내용의 유효성을 검사하려고합니다.

if ($durationHH <= 0 && $durationMM <= 0) 
    { 
     echo "DurationHH and DurationMM can not be both zero at the same time.";  
     echo "<br>"; 
     echo "DurationHH and DurationMM can not be smaller than 0.";  
    } 
    elseif (empty($durationHH) || empty($durationMM)) 
    {  
     echo "DurationHH and DurationMM can not be empty."; 
     echo "<br>"; 
    } 
    else 
    { 
     echo $_POST["durationMM"]; 
     echo ":"; 
     echo $_POST["durationHH"]; 
    } 

내가 durationHH 및 durationMM에 대한 몇 가지 값을 넣어 유효성을 테스트 :

나는이 시도했다.

durationMM = 0 AND durationHH는 값

& &

durationHH = 0을 = 및 durationMM 어떤 값을 = :

모든 (자),이 2 개의 경우를 제외하고 지금까지 잘 작동한다.

"DurationHH 및 DurationMM은 비워 둘 수 없습니다."라는 출력이 나옵니다.

어떻게/왜 이런 일이 발생합니까?

+0

'0'은 비어 있으므로'$ durationHH == ''||로 변경하십시오. $ durationMM == '''또는'is_numeric'처럼 사용할 수 있습니다 – Thamilan

+0

This [SO question] (http://stackoverflow.com/q/2220519/5447994)는 – Thamilan

+0

답장을 보내 주셔서 감사합니다. 그 일 이제는 ^^ – freshTomato

답변

0

HH 및 durationMM은 항상 정수 또는 숫자 여야합니다. 확인하려면 ! is_numeric()을 사용하십시오.