테스트 사이트 - 개발 중인 베타 버전입니다

변수충돌인가... 채택완료

레몬파이 7년 전 조회 2,450

메뉴설정 active 시키니까 

영카트 메뉴설정 게시판 주소 링크하니까  

?mnum=2  이런식으로 변수값이 생기는데 

보드만 못찾는다고 나옴 

localhost/gb_shop/bbs/board.php?bo_table=blog_01?mnum=2

 

"존재 하지 않는 게시판"이라 이라고 주소를 못찾네요 

일반 php주소는 잘들어감 

 

어떻게 고쳐야 할까요 ?

변수를 지우자니 active 안먹구 

에러 뜰때마다 막막하네요 ~!

 

</p>

<p><?php

     if(!$mnum) $mnum = 0;

         $active = $i==$mnum? ' active' : '';</p>

<p>     if($i !=0 && $i !=10 && $i !=11) 

           echo "<li class='dropdown{$active}'>".PHP_EOL;

     else 

           echo "<li class='$active'>".PHP_EOL;</p>

<p>?>

                        <a href="<?php echo $row['me_link']; ?>?mnum=<?=$i?>" target="_<?php echo $row['me_target']; ?>" class="">

                        <?php echo $row['me_name'] ?>

                        <i class="fa fa-angle-down"></i>

                        </a></p>

<p></li></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
e
7년 전

제가 사용하는 방법입니다.

</p>

<p>                if($bo_table) {</p>

<p>                    if(strpos($row2['me_link'], 'bo_table='.$bo_table) !== false) {</p>

<p>                        $active = ' active';</p>

<p>                    }</p>

<p>                } else if(strpos($row2['me_link'], $_SERVER['PHP_SELF']) !== false) {</p>

<p>                        $active = ' active';</p>

<p>                }</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

레몬파이
7년 전
답변 감사합니다.
근데 이걸 어느부분에 넣어야 움직이나요?
php 초보인 제게는 추상적입니다.

제가 만드는 부분은 부트스트랩 메뉴 부분이라서
<li class= dropdown active ><a herf>메뉴</a></li>
모바일에선 .dropdown 이
데탑메뉴에서 .active는 칼라 변경 부분이라서...
e
eyekiss
7년 전
소스중에.. 아래 부분을 대체하는 겁니다.
물론 mnum 넘기는 부분도 삭제하시구요
if(!$mnum) $mnum = 0;
$active = $i==$mnum? ' active' : '';
레몬파이
7년 전
감사합니다.

이렇게 고쳤네요~! 링크는 잘 넘어가는데 성공적입니다.
문제가 class 부분 active 부분이 안 먹네요~!
메뉴글자색이 바뀌어야 되는데 <li class='dropdown active'> 명령주면 메뉴전체가 색이 바뀌네요~!
클릭한 메뉴만 바뀌어야 하는데 ... $num=<?i?> 이값이 active class 를 보이게 했던 부분인데....
뭘 또 틀렸나 ?

기본구조는 이렇구요
<ul class="nav navbar-nav navbar-right">
<li class="dropdown active">
<a href="#">menu</a><i class="fa fa-angle-down"></i>
<ul role="menu" class="sub-menu">
<li><a href="#">submenu</a></li>
</ul>
</li>
</ul>

[code]
<?php
if($bo_table) {

if(strpos($row2['me_link'], 'bo_table='.$bo_table) !== false) {

$active = ' active';

}

} else if(strpos($row2['me_link'], $_SERVER['PHP_SELF']) !== false) {

$active = ' active';
}

if($i !=0 && $i !=5 && $i !=6)
echo "<li class='dropdown{$active}'>".PHP_EOL;
else
echo "<li class='active'>".PHP_EOL;

?>
[/cod]
e
eyekiss
7년 전
님이 원본 소스를 변형해서 그런것 같은데,
메뉴 부분 전체 소스를 올려보세요.
그리고 원하는 것을 구체적으로 올려주셔야 합니다.
서브 메뉴의 글자색 변경인가요??
질문을 새로 올리시면 답변할께요..^^
레몬파이
7년 전
code 올렸습니다. https://sir.kr/qa/244337?s_tag=%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5

댓글을 작성하려면 로그인이 필요합니다.

e
7년 전

localhost/gb_shop/bbs/board.php?bo_table=blog_01&mnum=2

빨간색 부분이 수정되야함.

그런데 mnum 변수는 왜 넘기는거죠??

$row['me_code'] 를 활용해보세요..

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

레몬파이
7년 전
&mnum 이걸로 고치면 일반 index.php를 못찾고
보드 게시판은 들어갑니다.

$row['me_code'] 이거 어떻게 쓰는건가요 ?
방법을 몰라요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인