2013-11-26 2 views
0

if 문에 문제가 있습니다.if 또는 문이 올바르게 작동하지 않습니다.

그래서
$userID = 24; 
$creator = 13; 
$_SESSION["sess_id"] = 13; 

짧은 :

if(24 != 13 || 13 != 13){ 

echo "Success"; 
exit; 

} 

왜 성공이 여전히 게재되고

if($userID != $_SESSION["sess_id"] || $creator != $_SESSION["sess_id"]){ 

echo "Success"; 
exit; 

} 

이 변수의 값입니다 : 이것은 if 문입니까?

이것은 단지 내 코드의 단축 버전입니다. 아무 변수도 이와 같이 설정되어 있지 않지만 값은 옳습니다.

답변

5

24 != 13이 여전히 유효하기 때문에. OR의 경우 변 중 하나가 참이면 충분합니다. 당신이 "||"사용하기 때문에

if (true || false) //true 
if (true && false) //false 
if (false || false) //false 
if (false && false) //false 
+0

감사합니다. 지금 이해합니다! – Jacob

1

당신이 ||OR를 사용하여 만 사실로 하나 개의 문을 필요로하는 귀하의 경우 24 != 13에 있기 때문에이

1

사실이다. "또는"입니다. "& &"(및)을 사용해야합니다.

if($userID != $_SESSION["sess_id"] && $creator != $_SESSION["sess_id"]){ 
+0

나는 그것을 넣을려고했다. – AdRock

0

$userID != $_SESSION["sess_id"] 표현 -이 상태로 통과 할 수 있도록>24 != 13이 (TRUE) 만족, 당신은 OR 조건을 사용하고, 중 어느 하나 개의 조건 true 블록이 실행 얻을.

관련 문제