Web Study 06
PHP - File Upload / Download
Copyright© 2015 by YoWu. All rights reserved.
http://luckyyowu.tistory.com (uyu423@gmail.com)
교양 : index 페이지
• 사용자가 특정 사이트(ex. http://cukwiki.net/~study)에 페이지를
지정하지 않고 접속했을 때 나타나는 기본 페이지
• index.php / index.html / ...
• ex) http://cukwiki.net/~uyu423
• ex) http://cukwiki.net/~uyu423/board
목
• PHP - MySQL
• 연결 & 종료
• Database 선택
• Query 전송
• Query 실행 결과 저장
• or die()
• DB 에러 확인
• DB 사용 페이지 구성
PHP - MySQL
• PHP 에서는 MySQL 연결을 위한 함수와 기능을 제공
• 크게 함수 지향, 객체 지향 두가지 방법이 있다.
• 함수 지향 : $db = mysqli_connect();
• 객체 지향 : $db = new mysqli();
• 스터디에서는 함수 지향 방식을 사용
• PHP 4 이하의 일반 mysql_* 함수와 PHP 5 이상부터 제공되는 개선된
mysqli_* 함수가 있다.
PHP - MySQL 연결 & 종료
• mysqli_connect("DB_ADDR", "DB_USER", "DB_PW", ["DB_NAME"]);
• PHP에서 MySQL 로 접속
• mysqli_close(연결 식별자);
• 연결 식별자가 가르키는 MySQL DB 로 접속된 연결 해제
• 연결 식별자 생략 시 가장 최근에 연결한 서버와 연결 해제
PHP - MySQL DB 선택
• mysqli_select_db("DB_NAME", [연결 식별자]);
• 사용할 DB 선택
• 연결 식별자 생략시 마지막으로 연결한 DB 사용
예제 - 1
PHP - MySQL 쿼리 전송
• mysqli_query(연결 식별자, "QUERY");
• MySQL 에게 query문 실행시키는 함수
• 출력하는 쿼리문(SELECT, SHOW…) 의 경우 성공 시 해당 자원이
반환됨
• 실행하는 쿼리문(INSERT,UPDATE…) 의 경우 성공 시
논리값(true/false) 반환
PHP - MySQL 반환 자원 사용
• mysqli_fetch_array(리소스 결과);
• DB에서 실행 결과를 가져오는 함수
• 결과를 한 행씩 가져와서 배열 형태로 변환
• Ex) $row['num'], $row[0]
PHP 교양 : or die()
• or 명령
• 앞에서 실행한 함수에서 에러가 발생했을 경우 뒤에 나오는 함수
실행
•die(message)
• exit() 함수와 동일
• Message 를 출력해주고 종료함
PHP - MySQL 에러 확인
• mysqli_connect_error();
• DB 연결시(mysqli_connect) 발생한 에러 확인
• mysqli_error(연결 식별자);
• DB 사용시(쿼리 전송 등) 발생한 에러 확인
예제 - 1.1 (dbconn.php)
예제 - 2
DB사용 페이지를 어떻게 구성하지?
• DB에 값을 입력하거나(INSERT) 수정(UPDATE, DELETE) 할 때는
왠만하면 다음의 규칙을 지킨다.
데이터
입력 페이지
(html, php)
DB 작업
처리 페이지
(php)
처리 결과
확인 페이지
(html, php)
예제 - 3 (db_first.php)
예제 - 3 (db_second.php)
실습
• 다음 페이지(방명록) 구현
• http://cukwiki.net/~uyu423/study/php/db_prac01.php
create table guest (
num int unsigned not null primary key auto_increment,
name varchar(20) not null,
cont text not null,
date datetime not null );
과제
회원가입 페이지 완성 (회원가입시 DB에 정보 저장, 암호화)
• 로그인 페이지 완성 (로그인시 DB에서 확인, 세션 생성)
• 로그인 - 회원가입 - 방명록(실습) 연동 및 Bootstrap으로 꾸미기
• 방명록은 로그인한 사람만 접근 가능
• 글쓴이 정보는 로그인한 회원정보의 기본키를 사용해 조회, 사용
• 페이지는 데스크탑 / 모바일에서 반응형으로 작동해야함
• nl2br(), trim(), htmlspecialchars() 함수 조사하고 방명록 페이지에 사용

웹 개발 스터디 01 - PHP 파일 업로드, 다운로드

  • 1.
    Web Study 06 PHP- File Upload / Download Copyright© 2015 by YoWu. All rights reserved. http://luckyyowu.tistory.com (uyu423@gmail.com)
  • 2.
    교양 : index페이지 • 사용자가 특정 사이트(ex. http://cukwiki.net/~study)에 페이지를 지정하지 않고 접속했을 때 나타나는 기본 페이지 • index.php / index.html / ... • ex) http://cukwiki.net/~uyu423 • ex) http://cukwiki.net/~uyu423/board
  • 3.
    목 • PHP -MySQL • 연결 & 종료 • Database 선택 • Query 전송 • Query 실행 결과 저장 • or die() • DB 에러 확인 • DB 사용 페이지 구성
  • 4.
    PHP - MySQL •PHP 에서는 MySQL 연결을 위한 함수와 기능을 제공 • 크게 함수 지향, 객체 지향 두가지 방법이 있다. • 함수 지향 : $db = mysqli_connect(); • 객체 지향 : $db = new mysqli(); • 스터디에서는 함수 지향 방식을 사용 • PHP 4 이하의 일반 mysql_* 함수와 PHP 5 이상부터 제공되는 개선된 mysqli_* 함수가 있다.
  • 5.
    PHP - MySQL연결 & 종료 • mysqli_connect("DB_ADDR", "DB_USER", "DB_PW", ["DB_NAME"]); • PHP에서 MySQL 로 접속 • mysqli_close(연결 식별자); • 연결 식별자가 가르키는 MySQL DB 로 접속된 연결 해제 • 연결 식별자 생략 시 가장 최근에 연결한 서버와 연결 해제
  • 6.
    PHP - MySQLDB 선택 • mysqli_select_db("DB_NAME", [연결 식별자]); • 사용할 DB 선택 • 연결 식별자 생략시 마지막으로 연결한 DB 사용
  • 7.
  • 8.
    PHP - MySQL쿼리 전송 • mysqli_query(연결 식별자, "QUERY"); • MySQL 에게 query문 실행시키는 함수 • 출력하는 쿼리문(SELECT, SHOW…) 의 경우 성공 시 해당 자원이 반환됨 • 실행하는 쿼리문(INSERT,UPDATE…) 의 경우 성공 시 논리값(true/false) 반환
  • 9.
    PHP - MySQL반환 자원 사용 • mysqli_fetch_array(리소스 결과); • DB에서 실행 결과를 가져오는 함수 • 결과를 한 행씩 가져와서 배열 형태로 변환 • Ex) $row['num'], $row[0]
  • 10.
    PHP 교양 :or die() • or 명령 • 앞에서 실행한 함수에서 에러가 발생했을 경우 뒤에 나오는 함수 실행 •die(message) • exit() 함수와 동일 • Message 를 출력해주고 종료함
  • 11.
    PHP - MySQL에러 확인 • mysqli_connect_error(); • DB 연결시(mysqli_connect) 발생한 에러 확인 • mysqli_error(연결 식별자); • DB 사용시(쿼리 전송 등) 발생한 에러 확인
  • 12.
    예제 - 1.1(dbconn.php)
  • 13.
  • 14.
    DB사용 페이지를 어떻게구성하지? • DB에 값을 입력하거나(INSERT) 수정(UPDATE, DELETE) 할 때는 왠만하면 다음의 규칙을 지킨다. 데이터 입력 페이지 (html, php) DB 작업 처리 페이지 (php) 처리 결과 확인 페이지 (html, php)
  • 15.
    예제 - 3(db_first.php)
  • 16.
    예제 - 3(db_second.php)
  • 17.
    실습 • 다음 페이지(방명록)구현 • http://cukwiki.net/~uyu423/study/php/db_prac01.php create table guest ( num int unsigned not null primary key auto_increment, name varchar(20) not null, cont text not null, date datetime not null );
  • 18.
    과제 회원가입 페이지 완성(회원가입시 DB에 정보 저장, 암호화) • 로그인 페이지 완성 (로그인시 DB에서 확인, 세션 생성) • 로그인 - 회원가입 - 방명록(실습) 연동 및 Bootstrap으로 꾸미기 • 방명록은 로그인한 사람만 접근 가능 • 글쓴이 정보는 로그인한 회원정보의 기본키를 사용해 조회, 사용 • 페이지는 데스크탑 / 모바일에서 반응형으로 작동해야함 • nl2br(), trim(), htmlspecialchars() 함수 조사하고 방명록 페이지에 사용