• PHP 6 & MySQL 5
  • 다이내믹한 웹사이트 만들기

  • 래리 울만 지음
  • 정성철 옮김

  • 오픈소스 & 웹 시리즈_020
  • ISBN: 9788992939461
  • 28,000원 | 2010년 05월 28일 발행 | 648쪽



데이터베이스 기반의 동적인 웹사이트를 제작하려고 할 때, 오픈소스 애플리케이션인 MySQL과 PHP의 조합은 더할 나위 없이 훌륭한 선택입니다. 이 책과 함께라면 강력하고 인터랙티브한 웹사이트를 쉽게 제작할 수 있습니다.

따라 하기 쉬운 계단식 지도 방식과 오류 없이 완벽하게 구동되는 스크립트, 활용하기 좋은 유용한 팁들을 사용하여 독자들의 비즈니스를 성공으로 이끌어 줄 것입니다. 또, 보안을 비롯한 다양한 전문 기술과 웹사이트를 제작하는 데 도움이 될 만한 여러 가지 도구를 다룹니다. 이와 더불어 PHP 6에 대한 유용한 정보도 제공하고 있습니다.

『PHP 6 & MySQL 5 : 다이내믹한 웹사이트 만들기』는 기존의 정적 웹사이트를 다이내믹한 동적 웹사이트로 교체하길 희망하는 다양한 수준의 개발자들에게 아주 유용한 자습서가 될 것입니다.

 

추천글

처음부터 끝까지 명확하고 간결한 책!

PHP와 MySQL에 익숙하지 않은 초보 프로그래머를 위한 최고의 책입니다. Larry 너무 고마워요, 이 책을 오랫동안 기다렸습니다. -- C. Bae, 아마존 독자

잘 읽었습니다!

저는 PHP와 MYSQL의 기초를 배울 수 있는 책을 찾고 있었어요. 이 책은 최고에요! 정확히 제가 원했던 책이었습니다. 50페이지 정도만을 읽었을 뿐인데 이미 PHP를 다 익힌 기분이었습니다. 일을 할 때에도 이 책을 많이 참고하고 있는데 예전에 힘겹던 문제들이 이제는 가뿐합니다. 코드 튜토리얼을 포함해서 이 책이 가르치는 방식이 너무 훌륭해서 꼭 개인 교사를 고용한 기분이었습니다, 가장 중요한 내용을 가장 이해하기 쉬운 방법으로 가르쳐 주니까요. 즐기세요! -- Mr. Sf Lissauer, 아마존 독자

PHP 초보자를 위한 최고의 선택!

09년도 가을 학기에 <PHP 6/MySQL For The Absolute Beginner PHP>를 이용해서 PHP 수강을 한 적이 있었는데, 초보자용으로는 너무나 어려운 책이었습니다. 예제들은 실용적이지 못했고 따라하기가 너무나 힘들었어요. 이 책을 사고 나서는 너무 기뻤습니다. 무엇을 해야 하는지 차근차근 한 단계씩 설명해주는 데다가, 가장 중요한 건, 왜, 언제 사용해야 하는지도 친절하게 알려준다는 겁니다. 이 책은 따라하기가 매우 쉬워요. 특히 PHP와 MySQL, SQL을 처음 접하는 사람에게 완벽한 선택이 되리라 확신합니다. -- Lance Lester, 아마존 독자

PHP & MySQL 최고의 입문서

저는 PHP와 MySQL을 사용하는 프로그래머입니다. 이 책은 완벽한 선택이었습니다. 다른 프로그래밍 언어의 약간 경험이 있는 독자라면 이 책의 페이스가 아주 적당할거에요, 거기다가 꼭 알아야 할 내용들만 다루고 있죠. 프로그래밍 경험이 전혀 없는 초보자한테는 조금 어려울 수 있습니다. 이 책은 독자들이 기본적인 프로그래밍 원칙에 대해 이미 알고 있다고 가정하기 때문에 이러한 내용들은 아주 조금만 다루고 있거든요. -- Roy Klein, 아마존 독자

오늘날의 웹 사용자들은 자주 갱신되고 잘 개인화된 서비스를 제공하는 재미있는 웹페이지를 기대합니다. 그들에게 이러한 사이트는 커뮤니티 이상의 의미가 있으며 반복적으로 방문을 시도할 것입니다. 동시에 웹사이트의 관리자들은 갱신과 유지보수가 간편하기를 바라고 그것이 방문자들의 기대를 충족시키는 유일한 방법이라는 것도 잘 이해하고 있습니다. 이러한 기대 때문에 PHP와 MySQL은 데이터베이스 기반의 동적인 웹사이트를 만드는 사실상의 표준이 되었습니다.

이 책은 필자가 이전에 낸 몇 권의 관련 도서를 집필한 경력과 다년간의 웹 개발 경험의 성취물을 총 망라하고 있습니다. 전달하고자 하는 핵심은 가장 효율적인 방법으로 가장 중요한 지식들을 다루고자 하는 것입니다. 동적인 웹사이트 개발을 시작하는 방법을 알려주고 이를 위해 많은 예제 코드를 제공할 것입니다. 필요한 것은 오직 배우려는 열정뿐입니다.

이 책에서 다루는 내용

  • 쉬운 그림을 사용하여 PHP6와 MySQL5에 대해 자세히 안내하고 또 무엇을 해야 하는지 보여줍니다.
  • 간결한 단계별 진행과 설명으로 짧은 시간에 익혀 바로 사용할 수 있게 해 줍니다.
  • 각 페이지마다 가치 있는 내용으로 가득 차 있습니다.
  • www.DMCinsights.com/phpmysql3에서 이 책의 전체 소스코드를 비롯하여 온라인 리소스, 나머지 스크립트, 갱신된 내용, 독자 포럼 등의 정보를 접할 수 있습니다.

래리 울만(Larry Ullman)

래리 울만은 정보 기술 분야에 특화된 Digital Media and Communications사의 대표이다. 『PHP 5 Advanced: Visual QuickPro Guide』, 『Building a Web Site with Ajax: Visual QuickProject Guide』와 이 책의 이전 판 등 여러 권의 스크립팅과 프로그래밍 분야의 베스트셀러를 집필한 저자이며, 이들을 주제로 크고 작은 그룹에서 강연한 하거나 기고를 하기도 한다. 1980년대 초반부터 컴퓨터, 프로그래밍 언어, 데이터베이스 등에 심취했음에도 불구하고 그는 여전히 자신이 컴퓨터광이 아니라고 주장한다.

정성철

현재 모바일 게임 제작사 ㈜모비우스의 대표이다. 사진과 여행 전문 Web2.0 사이트 Tryvel.com에서 PHP 프레임워크인 CakePHP의 도입을 전담하였으며, 동 서비스의 PHP를 활용한 대용량 사진 처리 서버 솔루션을 개발하였다.

 

옮긴이 글

PHP와 MySQL의 조합은 가볍고 역동적인 WEB 2.0의 파고에서도 당당한 주역이었으며, 이미 오래 전부터 세계적인 규모의 프로젝트 내에서도 하나의 축으로서 든든하게 자리매김하고 있습니다. 이러한 인기에 부응하여 수많은 입문서가 출간되어 있으며, 오히려 이점이 독자들이 적절한 입문서를 찾는 데 더 어려움을 줍니다.

입문서의 특성상 같은 내용을 전개하더라도 책의 가치는 완전히 다릅니다. 초심자의 호흡에 맞춰 차근차근 이끌어주는 『PHP 6 & MySQL 5 : 다이내믹한 웹사이트 만들기』는 여러모로 완벽한 입문서 가운데 하나입니다.

이 책은 모든 페이지를 2개 단으로 나눠 적은 지면을 효율적으로 활용하고 있습니다. 이해를 돕는 많은 양의 소스코드와 PHP 프로그래머가 알아야 할 방대한 종류의 기술을 거의 모두 다루면서도 그 내용이 부실하지 않은 이유입니다.

또한 따라 하기가 무척 쉽습니다. 핵심적인 이론을 간략하게 정리한 후, 안내하는 단계를 하나씩 따라가기만 하면 완전하게 동작하는 작은 단위의 애플리케이션이 완성됩니다. 각 단계는 자세한 설명과 함께 주요한 소스코드가 꼼꼼히 제공되므로 실수하는 일 없이 정확한 실행결과를 확인할 수 있습니다.

모든 장이 기초부터 실제의 프로젝트로 이어지는 완벽한 하나의 흐름을 가지고 전개됩니다. 저자는 입문자의 학습 패턴을 예상하여 알맞은 주제를 알맞은 시점에 소개합니다. 각각의 장은 앞 뒤 장과 자연스럽게 연계되어 더 큰 지식의 단위로 통합됩니다. 마지막으로, 이 책은 PHP 6를 표방하고 있습니다만, 유니코드 지원의 변화를 제외하면 입문 수준에서 PHP 6의 변화는 그리 주목할 대상이 아닙니다. 실제로 책에서도 국제화와 관련하여 강화된 유니코드 지원을 자세하게 설명하고 있을 뿐입니다.

이 책은 프로그래밍 경험이 전혀 없는 독자가 보기에는 다소 어려울 수 있습니다. 그러나 다른 언어를 통해 프로그래밍에 대한 감각이 있는 독자라면 더할 나위 없이 훌륭한 PHP 입문서가 될 것입니다.

  • 도입
    • 동적인 웹사이트란 무엇인가
    • 준비물
    • 이 책에 대해서
    • 자매 사이트
  •  
  • 1장 PHP 입문
    • 기본 문법
    • 웹 브라우저로 데이터 전송
    • 주석 작성하기
    • 변수란 무엇인가?
    • 문자열 입문
    • 문자열 연결하기
    • 숫자형 입문
    • 상수 입문하기
    • 작은따옴표와 큰따옴표
  •  
  • 2장 PHP 프로그래밍
    • HTML 폼 만들기
    • HTML 폼 처리하기
    • 조건절과 연산자
    • 폼 데이터 검증하기
    • 배열 입문
    • for와 while 루프
  •  
  • 3장 동적 웹사이트 개발
    • 파일 인클루드
    • HTML 폼 다루기 2
    • 스티키 폼 만들기
    • 사용자 정의 함수
  •  
  • 4장 MYSQL 입문
    • 데이터베이스 요소 이름 짓기
    • 칼럼 타입 선택하기
    • 다른 칼럼 속성 선택하기
    • MySQL 접속
  •  
  • 5장 SQL 소개
    • 데이터베이스와 테이블 생성
    • 레코드 저장하기
    • 데이터 검색하기
    • 조건절의 사용
    • LIKE와 NOT LIKE의 사용
    • 쿼리 결과 정렬하기
    • 쿼리 결과 제한하기
    • 자료 수정
    • 데이터의 삭제
    • 함수의 사용
  •  
  • 6장 SQL과 MySQL 고급
    • 데이터베이스 설계
    • 조인
    • 검색 결과 그룹화
    • 인덱스 만들기
    • 여러 타입의 테이블 사용하기
    • FULLTEXT 검색하기
    • 트랜잭션 수행
  •  
  • 7장 에러처리와 디버깅
    • 에러의 종류와 기본적인 디버깅
    • PHP 에러 출력하기
    • PHP 에러보고 레벨 조절하기
    • 사용자 정의 에러 핸들러 만들기
    • PHP 디버깅 테크닉
    • SQL과 MySQL 디버깅 기법
  •  
  • 8장 PHP와 MYSQL 연동
    • 템플릿 수정
    • MySQL에 접속하기
    • 쿼리 실행하기
    • 쿼리 결과 값 가져오기
    • 안전한 SQL 보장하기
    • 반환된 레코드 개수 세기
    • 레코드 갱신
  •  
  • 9장 일반적인 프로그래밍 테크닉
    • 스크립트로 값 전달하기
    • 히든 입력 폼
    • 입력된 레코드의 수정
    • 페이지 나누기
    • 정렬하기
    •  
  • 10장 웹 애플리케이션 개발
    • 이메일 전송
    • 날짜와 시간 함수
    • 파일 업로드
    • PHP와 자바스크립트
    • HTTP 헤더의 이해
  •  
  • 11장 쿠키와 세션
    • 로그인 페이지 제작하기
    • 로그인 함수 만들기
    • 쿠키 사용하기
    • 세션 사용하기
    • 세션의 보안
  •  
  • 12장 보안
    • 스팸메일 방지
    • 데이터 타입 검사
    • XSS 공격 방어하기
    • SQL 인젝션 공격 방지
    • 데이터베이스 암호화
  •  
  • 13장 펄 호환 정규표현식
    • 테스트 스크립트 작성
    • 간단한 패턴 정의하기
    • 수량자 사용하기
    • 문자 클래스 사용하기
    • 전체 매치하기
    • 변경자의 사용
    • 패턴 매치와 치환
  •  
  • 14장 국제화된 사이트 제작
    • 문자 집합과 인코딩
    • 다국어 웹페이지
    • PHP에서의 유니코드
    • PHP 콜레이션
    • 음역
    • 언어와 MySQL
    • 표준시간대와 MySQL
    • 로케일
  •  
  • 15장 게시판 예제
    • 데이터베이스 설계
    • 템플릿 적용
    • 인덱스 페이지
    • 포럼 페이지
    • 게시물 페이지
    • 메시지 작성하기
  •  
  • 16장 예제–사용자 등록
    • 템플릿 작성하기
    • 설정 변경 스크립트 작성하기
    • 홈페이지 만들기
    • 회원 등록
    • 계정 활성화
    • 로그인과 로그아웃
    • 비밀번호 관리
  •  
  • 17장 전자상거래 예제
    • 데이터베이스 디자인
    • 사이트 관리
    • 일반 페이지용 템플릿 만들기
    • 제품 카탈로그
    • 쇼핑 카트
    • 주문 기록하기
  •  
  • 부록 설치
    • 윈도우에서 설치하기
    • 맥 OS에서 설치하기
    • MySQL 권한
    • 설치 테스트하기
    • PHP 설정
  • 127쪽 박스 머릿글 기호에서

    숫자와 시간 값은 항상 인용부호로 감싸야 한다 ---> 날짜와 시간 값은 항상 인용부호로 감싸야 한다

    NULL은 반드시 인용부호로 감싸야 한다 ---> NULL에 인용부호를 사용해서는 절대로 안 된다

  • 233쪽 5번 코드는 아래 코드로 바뀌어야 합니다. (주의 -> 표시는 연결된 코드의 줄바꿈 표시입니다.)

    if (!empty($_POST['pass1'])) { 
        if ($_POST['pass1'] != 
        -> $_POST['pass2']) {
              $errors[] = 'Your password 
              -> did not match the 
              -> confirmed password.';
        } else {
            $p = trim($_POST['pass1']);
        }
    } else {
        $errors[] = 'You forgot to enter
        -> your password.';
    } 
    

예제코드 관련 GitHub 페이지

관련 글


엮인 글

엮인 글 주소: http://wikibook.co.kr/php-6-mysql-5/trackback/