웹 개발 스터디 01 - PHP 파일 업로드, 다운로드
-
Upload
yu-yongwoo -
Category
Software
-
view
230 -
download
8
Transcript of 웹 개발 스터디 01 - PHP 파일 업로드, 다운로드
Web Study 06
PHP - File Upload / Download
Copyright© 2015 by YoWu. All rights reserved. http://luckyyowu.tistory.com ([email protected])
교양 : 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() 함수 조사하고 방명록 페이지에 사용