쿼리문 실행 출력 질문입니다.

쿼리문 실행 출력 질문입니다.

QA

쿼리문 실행 출력 질문입니다.

본문

안녕하세요~ 

 

메인메뉴를 기본 head 파일 말고 ..

 

6ca9e63ad7566437d254e269b769e19d_1438070204_4563.png
 

page2/include/header.php 에 뿌려주려고 하는데요 

 

<ul id="gnb_1dul">

            <?php

            $sql = " select *

                        from {$g5['menu_table']}

                        where me_use = '1'

                          and length(me_code) = '2'

                        order by me_order, me_id ";

            $result = sql_query($sql, false);

            $gnb_zindex = 999; // gnb_1dli z-index 값 설정용

 

            for ($i=0; $row=sql_fetch_array($result); $i++) {

            ?>

            <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">

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

                <?php

                $sql2 = " select *

                            from {$g5['menu_table']}

                            where me_use = '1'

                              and length(me_code) = '4'

                              and substring(me_code, 1, 2) = '{$row['me_code']}'

                            order by me_order, me_id ";

                $result2 = sql_query($sql2);

 

                for ($k=0; $row2=sql_fetch_array($result2); $k++) {

                    if($k == 0)

                        echo '<ul class="gnb_2dul">'.PHP_EOL;

                ?>

                    <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li>

                <?php

                }

 

                if($k > 0)

                    echo '</ul>'.PHP_EOL;

                ?>

            </li>

            <?php

            }

 

            if ($i == 0) {  ?>

                <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>

            <?php } ?>

        </ul> 

 

기본 head 파일에 있는 메뉴 출력부분을 그대로 붙여 넣었는데 

 

Notice: Undefined variable:  에러가 뜨네요.. 혹시 해결방법  있을까요??

이 질문에 댓글 쓰기 :

답변 1

php.ini에서 error_reporting = E_ALL 이렇게 되어있는거 뒤에 & ~E_NOTICE 이렇게 추가해주세요.

 

ini를 건들지 못하는 상황이라면 index에 error_reporting("E_ALL​ & ~E_NOTICE"); 이렇게 작성해주시고요.

 

해당에러는 php의 기본을 안지키셔서그래요...

 

변수를 사용하려면 생성 > 초기화 > 사용 이렇게 거치셔야하는데 생성 > 사용 이렇게나 바로 사용하셔서그래요. 이걸 다 고치려면 엄청 많으니 에러중 노티스는 아예 무시하는게 낳죠.

 

display_error를 꺼버리시고 에러나는 곳에 직접 디스플레이에러로 보시는게 편할수도 있어요.

 

좀 어렵게 생각하신거 같은데 별거 없어요.

생성은 $foo = 1;, $foo = "a"; 이렇게 단순하게 생성하는거구요.

초기화는 형식에 맞게 바꾸거나 값을 초기화시키는거에요.

초기화는 unset($foo); 이거구요. 형식에 맞게 하는 것은 스트링은 $foo = "";, 인티저는 $foo = 0; 이렇게요.

이렇게 값이 정해지고 초기화되서 사용하는걸 기본 문법이라고 하는거에요.

php 4버전에서는 이렇게 초기화나 변수지정을 안해도 노티스가 안떴어요.

그래서 그냥 변수 생성 안하고 써도 상관 없었는데 5버전부터 노티스가 뜨는거에요. 그러니 이전에 짜둔 소스들을 다 변경할순 없으니깐 에러표출단계를 바꾸는거죠.


echo $_POST[grade]." - ".$_POST[class];

if($_POST[grade]){
    $grade = $_POST[grade];
}else{
    $grade = "학년이 없습니다.";
}
if($_POST[class]){
    $class=$_POST[class];
}else{
    $class="반이 없습니다.";
}
echo $grade." - ".$class;


위에 에코는 있든 없든 일단 출력하는거에요.

아래거는 정석대로. 값이 있냐없냐 따지고나서 보안때문에 포스트나 겟으로 넘어오는거 바로 출력 안하고 다른 변수에 넣어서 출력하는거죠. 값이 없다면 엘스문에 exit나 알럿으로 값이 넘어오지 않았다고 이전페이지로 보내버리거나 등등을 하겠죠.

답변을 작성하시기 전에 로그인 해주세요.
전체 59,614
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT