변수에 따른 페이지 이동

의도한 것 :
$is_page가 page01인 페이지에서 a태그 클릭 시 page01로 이동
$is_page가 page02인 페이지에서 a태그 클릭 시 page02로 이동
나머지는 페이지에서 a태그 클릭 시 page03으로 이동
모든 페이지에 해당 코드가 있는 php파일을 include한 상태 입니다.
근데 page01,page02에서만 작동하고 나머지 페이지에서는 page03으로 이동하지 않는데
작성한 코드 중 잘못된게 있을까요....?ㅠㅠ
답변 4개
지금 올려주신 코드에서 문제가 될만 한 부분은
if($is_page == "page01"){
}elseif($is_page == "page02"){
}else{
}
이렇게 하셔야 될거 같습니다
else if 와
elseif 는 다르게 인식합니다
답변에 대한 댓글 2개
echo 로 출력을안해서 조건문이 제대로 안돌아가는것처럼 보이는거에요.
코드는 문제없네요.
댓글을 작성하려면 로그인이 필요합니다.
어차피 $is_page가 page01, page02, 기타 등등이면 아래처럼 하면 되겠네요.
질문에 맞게 '이미지' 첨부합니다. 두 가지 형태 중 마음에 드는 코드 사용하면 되겠습니다.

* 혹시 PHP 버전이 5.4 미만이라면 처음 코드는 아래처럼 바꿔야 합니다.

* $is_page 변수가 없을 수 있다면 조건 추가

답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
우선 위 코드가 왜 안되느냐하면
url을 불러오는 부분에서 echo 로 출력을 하지않았기 때문입니다.
</p>
<p><?php</p>
<p>switch ($is_page){
case 'page01':
$url= 'G5_URL . "/ko/subpage/page01.php";';
break;
case 'page02':
$url= 'G5_URL . "/ko/subpage/page02.php";';
break;
default:
$url= 'G5_URL . "/ko/subpage/page03.php";';
}</p>
<p>?></p>
<p> </p>
<p><a href="<?php echo $url?>">링크</a></p>
<p>
이런식의 코드가 더 나아보입니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
else구문 의도한 것 :
$is_page == 'page01';일 경우와 $is_page == 'page02';인 경우를 제외한 변수를 적지않은
나머지 페이지는 page03으로 이동
이런 의도로 적은것인데 페이지 이동이 안되는 원인이 뭐가 있을 까요...?
else if문으로 바꾸고 $is_page == 'page03';으로 변수 지정해도 다른페이지에서는 이동이 안되고
a태그에 위와같이 지정해놨음에도 그냥 현재 페이지로만 이동하는데ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
+ elseif/else if
- https://www.php.net/manual/en/control-structures.elseif.php
There may be several elseifs within the same if statement. The first elseif expression (if any) that evaluates to true would be executed. In PHP, you can also write 'else if' (in two words) and the behavior would be identical to the one of 'elseif' (in a single word). The syntactic meaning is slightly different (if you're familiar with C, this is the same behavior) but the bottom line is that both would result in exactly the same behavior.
* 예제에 나오지만, 대체 구문 사용 시 붙여써야 하는 것만 주의.