[뇌를자극하는 PHP프로그래밍] 74페이지
2009. 11. 13. 02:43
책/바로잡습니다
74 페이지에는 오자가 하나 있습니다. 밑에서 둘째줄에 보면 ③ in D\Autoset\public_html\02\endofline3.php on line 3 부분에서 : (콜론) 기호가 빠져있습니다. 다음과 같이 수정하는 것이 맞습니다. ③ in D:\Autoset\public_html\02\endofline3.php on line 3
[뇌를자극하는 PHP프로그래밍] 11장은 register_globals=On 상태로 하셔야 합니다.
2009. 11. 13. 02:38
책/바로잡습니다
11장 소스를 테스트할 때에는 php.ini 파일의 register_globals=On으로 설정하여야 합니다. 오늘 책을 살펴보니 11장 게시판 만들기 강좌에서 독자님들이 다소 소스코드 실행에 문제가 생길 소지가 있음을 발견하였습니다. 이 책이 원래 3장에 걸쳐서 게시판이 제 모습을 찾아가는 구성을 갖고 있습니다. 그래서 11장 게시판 만들기의 경우에 php.ini 설정에서 register_globals=On 상태임을 가정하고 작성하였습니다. 그 이유는 많은 프로그래머들이 편의를 위해서 register_globals 옵션을 On으로 설정하고 있기 때문입니다. 그러나 책에도 언급하였듯이 On으로 설정되어 있는 경우 보안적인 문제가 발생하여 Off 설정을 권장하고 있습니다. 그래서 이 책에서는 12장에서 게..
[뇌를자극하는 PHP프로그래밍] $PHP_SELF -> $_SERVER[PHP_SELF]
2009. 11. 12. 22:21
책/바로잡습니다
413페이지 윗쪽 소스 코드를 보면 ACTION="?id=&mode=delete"> 부분이 있습니다. 이 부분은 다음과 같이 수정되어야 합니다. ACTION="?id=&mode=delete"> register_globals=Off 인 경우에 $PHP_SELF 수퍼변수는 동작하지 않습니다. 따라서 $_SERVER[PHP_SELF]와 같이 바꾸어주셔야 합니다. 그리고 위에 $_ GET[id]와 같이 공백이 존재하는데 이 공백은 오류이니 공백을 없애는 것이 맞습니다. $PHP_SELF 오류가 있는 페이지 348 페이지 : [예제 8-3] 9번, 30번 줄 351 페이지 : [예제 8-4] 31번줄 353 페이지 : [예제 8-5] 9, 19, 33 번줄 354 페이지 : [예제 8-6] 29번줄 365 페이지..
[뇌를자극하는 PHP프로그래밍] 408, 409, 411페이지
2009. 11. 12. 22:02
책/바로잡습니다
독자님으로부터 오탈자에 대한 보고를 받았습니다. 감사합니다. 409페이지 중간 부분과 411페이지 51,52번째 라인을 보면 $prev = $no - $pagesize; $next = $no + $pagesize; 부분이 있습니다. 이 부분의 $no 변수는 외부로부터 넘어오는 변수이므로 $_GET[no]과 같이 표현해야 합니다. $prev = $_GET[no] - $pagesize; $next = $_GET[no] + $pagesize; 이 부분 뿐만이아니라 408페이지부터 409페이지에 나오는 모든 $no 변수는 $_GET[no]으로 변경해야 맞는 것입니다. PHP.ini 파일의 설정 중 register_globals 항목이 On으로 되어 있으신 분들은 에러가 나지 않겠지만 Off로 되어있는 분들은 문..
[PHPSchool] 예제 4-18 코드가 동작하지 않습니다.
2009. 10. 27. 19:54
책/자주묻는질문
PHPSchool을 검색해보았더니 제 책에 대한 질문이 하나 올라와 있더군요. http://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=279398
[뇌를자극하는 PHP프로그래밍] 628페이지
2009. 10. 27. 19:34
책/바로잡습니다
628페이지에는 또 다른 오류가 하나 있습니다. 중간부분에 있는 쿼리 부분입니다. insert into $board (thread, depth, name, pass, email, title, view, wdate, ip, content, filename) values ($max_thread,0,'$_POST[name]','$_POST[pass]','$_POST[email]','$_POST[title]',0,UNIX_TIMESTAMP(),'$REMOTE_ADDR','$_POST[content]',0,'$filename') 이 부분의 마지막 부분에 0이 들어가는 데 이 부분은 제거되어야 합니다. insert into $board (thread, depth, name, pass, email, title, vi..
[뇌를자극하는 PHP프로그래밍] 624, 627, 628, 629페이지
2009. 10. 27. 19:24
책/바로잡습니다
184 페이지의 오류와 동일한 오류가 624와 628 페이지에 존재합니다. move_uploaded_file() 함수를 사용하면서 타겟 위치로 복사하는 과정에서 파일 명을 빼먹은 경우입니다. 624페이지 예제 13-3의 8번째줄 move_uploaded_file($_FILES['upfile']['tmp_name'],'./uploads_dir'); 이 부분을 다음과 같이 수정하여야 합니다. move_uploaded_file($_FILES['upfile']['tmp_name'],'./uploads_dir/' . $FILES['upfile']['name']); 627, 628페이지 하단 소스 if (move_uploaded_file($_FILES['upfile']['tmp_name'], './uploads_d..
[뇌를자극하는 PHP프로그래밍] 364, 366페이지
2009. 10. 27. 19:16
책/바로잡습니다
364페이지 중간 부분에는 Digest 인증 검증 코드가 있습니다. 366페이지 소스코드 56,57 라인에도 동일한 코드가 있습니다. 그런데 길어지는 코드를 두 줄로 분리하는 과정에서 함수를 반으로 쪼개어버리는 바람에 에러가 발생합니다. $valid_response = md5("$A1:$data['nonce']:$data['nc']"; $valid_response .= ":$data['cnonce']:$data['qop']:$A2"); 그래서 다음과 같이 문자열 부분을 변수에 저장한 후 다시 md5 해쉬 함수를 적용하는 것으로 변경해야 합니다. $valid_response = "{$A1}:{$data[nonce]}:{$data[nc]}"; $valid_response .= ":{$data['cnonce'..
[뇌를자극하는 PHP프로그래밍] 객체 수정 원고
2009. 10. 27. 17:29
책/바로잡습니다
244페이지부터 시작하는 객체에 대한 수정 보완된 원고입니다. 제가 이 부분을 약 6년전쯤 작성하고 2년전쯤 교정을 하면서 PHP 버전에 의한 변화에 대해 혼동을 일으켜 다소 여러부분에서 문제가 발생하였습니다. 그래서 수정 보완된 원고를 올려드립니다. 이 부분은 정말 면목이 없습니다. 저의 꼼꼼하지 못한 성격때문입니다. ㅠ_ㅠ