[제15, 16장] 변수 관련 질문입니다. > 출간도서 Q&A

본문 바로가기

출간도서 Q&A

일반글
PHP&MySQL

[제15, 16장] 변수 관련 질문입니다.

페이지 정보

게시물QR코드

본문

d5cb09130e7c5fc79269c48e264024a8_1545614821_1396.png
 



error line들 입니니다.


1.Notice: Undefined index: mode in /Applications/mampstack-7.1.25-0/apache2/htdocs/inyeosu/register.php on line 5


 Line  5 : if(isset($_SESSION['ss_mb_id']) && $_GET['mode'] == 'modify') {



2. 아이디 <br /><b>Notice</b>:  Undefined variable: mb in <b>/Applications/mampstack-7.1.25-0/apache2/htdocs/inyeosu/register.php</b> on line <b>40</b><br />


Line 40 : <td><input type="text" name="mb_id" value="<?php echo $mb['mb_id'] ?>" <?php echo $modify_mb_info ?>></td>


3. 이름 <br /><b>Notice</b>:  Undefined variable: mb in <b>/Applications/mampstack-7.1.25-0/apache2/htdocs/inyeosu/register.php</b> on line <b>52</b><br />


Line 52: <td><input type="text" name="mb_name" value="<?php echo $mb['mb_name'] ?>" <?php echo $modify_mb_info ?>></td>




궁금한 점은 , 비밀번호와 비밀번호 확인은 <td><input type="password" name="mb_password"></td> 로 value 값에서 참조하는 변수가 없어서 아무런 에러가 없는 건지 궁금합니다.


그리고 왜 변수를 참조하는 것이 문제가 생겼는지 모르겠네요. 다른 사이트에서도 설명은 없어서...


변수 초기화 와 관련 있는건가요?



[memo.php] 에서는 아래의 오류가 있습니다.

d5cb09130e7c5fc79269c48e264024a8_1545615334_5707.png
 


[Line 6] $kind = $_GET['kind'] ? $_GET['kind'] : 'recv';


[Line 20~23]     $sql = "SELECT COUNT(*) AS cnt FROM memo WHERE me_{$kind}_mb_id = '{$mb_id}' ";

$result = mysqli_query($conn, $sql);

$row = mysqli_fetch_assoc($result);

$total_count = $row['cnt'];


[Line 26]         $page = $_GET['page'];


[Line 34-41]   $sql = " SELECT a.*,b.mb_id, b.mb_name, b.mb_email

            FROM memo a

            LEFT JOIN member b ON (a.me_{$unkind}_md_id = b.mb_id)

            WHERE a.me_{$kind}_mb_id = '{$mb_id}'

            ORDER BY a.me_id DESC LIMIT $from_record, {$page_rows}";

$result = mysqli_query($conn, $sql);

for ($i=0; $row=mysqli_fetch_assoc($result); $i++)

{




댓글목록

그누위즈님의 댓글

그누위즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

안녕하세요 그누위즈입니다.

02 _ 설계 및 구현 페이지를 참고하시면

해당 notice 에러에 대한 설명이 있습니다.
실제 PHP에서의 문법상의 코드는 아무런 문제가 없지만
PHP 버전이 올라감으로서 변수 선언에 대해 조금 엄격해진 부분때문에 해당 notice 에러가 발생하는 것 입니다.
php.ini 파일에서 간단한 설명 변경으로 에러를 없앨 수 있습니다.

inyeosu님의 댓글의 댓글

no_profile inyeosu쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

mac 에서 etc/php.ini 화일을 열어보니, "register_global = Off"  이 없어서,

새로 입력해 넣어서 Off -> On 으로 수정하였습니다.

그런데 안 되네요. (혹시 MAC이라서 다른 방식일까요?)

변수 선언에 대해서 더 찾아봐야 겠네요....

그누위즈님의 댓글의 댓글

그누위즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

register_global = Off 가 아닌

error_reporting 설정의 제일 끝 부분에 "& ~E_NOTICE" 를 입력해야합니다.

ch15 02_ 설계 및 구현의 바로 뒷장에 설정하는 방법이 있습니다.

  • Addr.부산광역시 동구 중앙대로 319, 9층 L4호(초량동, 부산YMCA빌딩) Email. gnuwiz@naver.com
  • BR. 625-68-00172 TRC. 2019-부산해운대-1186 TEL. 0507-1382-2790
All rights reserved.