웹마스터 팁
교육용 메모장 #1
2000.07.10 15:31
좀더 쉬운 메모장을 만들기를 한번 적어봤습니다.
<a href=http://zerophp.com/php/memo/memo.php3 target=_blank>미리보기</a>
----------------------------------------------------------------------------
1. 메모장 만들기
이제 실제로 PHP로 CGI를 제작하여 봅시다.
처음으로 만들어본 CGI는 메모장입니다.
메모장은 간단하면서도 편리한 기능으로 많은 홈페이지에서 애용되고 있는 CGI입니다.
메모장을 제작함으로써 MySQL에 자료를 입력하고 검색할수 있는 실질적인 방법을 익힐수 있을것입니다.
2. 첫 번째로 생각하여야 할 것!!
일반 프로그램과 마찬가지로 CGI 프로그래밍시에도 미리 생각해야 할것이 있습니다.
바로 어떤 기능을 가져야 할것이며 어떤식으로 구현해야 할지를 정하는 것이죠.
메모장은 매우 간단한 구조로 되어 있습니다.
이미 MySQL DB에 저장되어 있는 자료를 출력하는 부분과 사용자의 입력 을 받아서 MySQL DB에 저장하는 방법이죠.
일반적인 메모장 CGI의 형태로 제작하여 본다고 생각하였을 때 다음과 같은 모양을 가지겠죠.
<div align=center><img src=http://zerophp.com/study/memo1.gif border=0></div>
그럼 어떤 기능이 필요한지 볼까요?
이름과 내용을 입력받아서 MySQL DB에 저장을 해야겠죠?
그리고 그 저장된 내용을 MySQL DB로부터 뽑아서 화면에 출력을 해야 하고요.
만약 저장된 내용이 너무 많다면 페이지별로 나누어서 출력하는 부분이 필요하겠죠.
그럼 이제 실제적인 제작 과정으로 들어가봅시다.
3. MySQL DB 스키마 설정
어떤 형식으로, 어떤 자료가 저장되어야 할지를 정해야겠죠?
그 형식을 스키마(Scheme)라고 하죠.
위의 메모장을 보고 생각을 해보세요.
우선 필요한 것이 이름, 내용, 날자가 필요하다는 것은 바로 아시겠죠?
그리고 번호도 들어가는군요.
메모장은 매우 간단해서 이 4가지 형식만 있으면 된답니다.
그럼 우리가 설계해볼 MySQL DB의 스키마를 한번 그려볼까요?
<div align=center><img src=http://zerophp.com/study/memo2.gif border=0></div>
위와 같은 형태로 MySQL DB에 자료가 저장이 된답니다.
스키마 이름은 한글로는 정의할 수가 없기 때문에 영어로 한번 적어봅시다.
번호 → no, 이름 → writer, 내용 -> memo, 날자 → reg_date
그리고 이 자료들의 형식을 정해줍시다.
no 는 계속해서 쌓이는 것이니깐 13자리로 합시다.
자료형은 int, 즉 정수형으로 해야겠죠?
name 은 사람 이름이니깐 문자형으로 8자로 합시다.
한글은 1글자당 2바이트를 차지하죠.
그리고 우리나라사람 이름은 4자를 넘어가는 일이 없기 때문에 총 8자로 정하는것입니다.
memo 또한 문자형으로 하고 크기는 255글자로 합시다.
reg_date는 정수형 12자리로 하면됩니다.
php에서는 time()라는 함수가 있습니다.
1970년 1월 1일부터 1초씩 계속 더해서 지금의 날자와 시간에 대한 값을 가지고 있습니다.
그럼 MySQL에서 통하는 query문으로 만들어봅시다.
create table memo (
no int(13) primary key not null auto_increment,
name varchar(8) not null,
memo varchar(255) not null,
reg_date int(13) not null );
create table memo 는 memo라는 이름을 가진 테이블을 만든다는 겁니다.
그리고 no 같은경우는 기본키(primary key)로 지정을 한다는 겁니다.
not null 은 빈값을 허용하지 않겠다, 즉 어떤값이라도 입력이 되어야 한다는 지정문입니다.
auto_increment는 아무런 값을 넣지 않았을 때 자동으로 1씩 증가된 값이 저장이 되죠.
이제 위에서 우리가 만든 메모장 테이블을 MySQL에 입력을 하여 봅시다.
프롬프트 상태에서 다음과 같이 입력을 하세요.
mysql -u아이디 -p암호 DB명
위와 같이 하면 자신의 MySQL DB로 접속이 됩니다.
그럼
mysql> 이라는 프롬프트 상태가 나타나는데 여기서 위에서 만든 query를 그대로 입력하세요.
제대로 입력이 되었다면 table memo created 라는 메시지가 출력이 됩니다.
자 이제 테이블까지 생성을 했으니 실제적인 코딩작업으로 들어가겠습니다.
댓글 53
-
eewrqwr
2000.08.03 19:27
qerqwreqer -
음냐리
2000.08.23 21:30
케케 -
lily
2000.08.25 00:39
에공그림이 안보이네.. -
321
2000.09.24 12:33
123 -
Zend
2000.11.07 21:02
캬캬~ 여그까정 봤다.^^;; -
호
2000.12.13 17:25
그림은 어디에? // 관리자분이 바쁘신가? -
혀니
2000.12.26 17:59
미리보기 안되네영... -
젤린
2000.12.26 23:33
그림이 깨졌는데... 수정 해주세욤... -
화이트
2000.12.27 18:52
미리보기가 안되네욤^^.☆♡ -
리안
2000.12.27 20:22
미리보기~ 미리보구 싶다.. -_-;; -
test
2000.12.29 04:01
지난내용들은 어떻게 되지..?? -
ranzi
2000.12.29 04:01
test2 -
s나나나
2000.12.29 14:29
12344 -
정재홍
2001.01.03 00:39
하하하~멋지군여,, -
홍슬기
2001.01.08 22:43
엑스?.. -
김성환
2001.01.09 01:16
그림이 안보이니 답답하군요... -
Dance™
2001.01.22 21:16
미리보기가 안된당.... -_-! 미버!! -
조은애
2001.03.21 18:10
헉..ㅠ.ㅠ.뭔말인지 몰겠떠여ㅠ.ㅠ. -
김미선
2001.04.07 17:08
허거...머가먼지 하나더 머르게따아 으에엑 힘드러힘드러~~난 바분가바~ㅜ_- -
서형원
2001.04.15 13:41
ㅋㅋㅋ 뭐가 뭔지.. -
양은숙
2001.05.02 19:04
그림이..안보여요..!! -
양은숙
2001.05.02 19:07
그림..다시..올려주시면..안될까요..? -
???
2001.05.06 15:02
무슨 말이야~~~~~~~~~~~~~~~ -
박수진
2001.06.09 20:14
ㅜ_ㅜ 정말 하나두 모르게땅... -
zzini
2001.06.15 17:22
17살의 나이로는 무리인가....?? 어렵다 어려워 스킨은 쉬운데 -
이국현
2001.07.02 15:58
역쉬.. 제로님이야.. 지금 보는 책보다는 제로님 강좌가 -
이국현
2001.07.02 15:58
훨~~ 좋다.. -
kimheejin
2001.07.02 23:39
쥔짜...무슨 말인지...ㅠ.ㅠ -
김현수
2001.07.07 16:54
아띠 그림보여주~ ㅜㅜ 17짤님? 난 15짤 ㅎㅎㅎ ㅡㅡ; -
『떠라ⓔ™』
2001.07.09 19:16
『ㅡ_ㅡ;;떠라이논 14샬인뒈..™』 -
박용현
2001.07.20 11:39
여기도 뭔소리랴?-_-? -
김예정
2001.07.21 15:25
설치두 몬 하게따아...+_= -
정지명
2001.07.24 15:33
에휴 -
정지명
2001.07.24 15:34
에휴 저는 초보인데요 이런걸 어디다가 써요?후미 진짜 슈퍼초 왕허접 이라서영 무슨말인지 하나더 멀르게써영 -
정종현
2001.07.24 17:34
zzzzz -
정상욱
2001.07.26 17:10
이게 먼말이얌....쓰구 픈뎅....ㅠㅠ 누구 자세히점 갈켜주세염 hangkuk-in@hanmail.net -
꼬마디디
2001.08.16 19:09
ㅜㅜ; 아얘 안뜬돳.. 님 15짤? 난 13짤 ㅎㅎㅎ ^_^ -
김세진
2001.08.22 15:24
좀 쉽게 설명해줘여 처음부터 차근차근 중간부터 말하면 넘 어려워여 내컴퓨터에서 할수있게 자세히좀 설명해줘여 -
최은진
2001.11.10 20:45
-_-난 서러운 열여섯-_ㅠ..! 아아, 난 스킨도 못 만든대요ㅠ_ㅠ 징징;-_-; -
박대영
2001.11.14 22:15
히히... 재밌네... -
토모
2001.11.21 21:13
쩝.. 태그....참.....ㅡ ㅅ ㅡ ㆀ -
밍이
2001.11.28 22:56
하핫..밍이눈 12살..
아아..어지러버..
강좌듣고 난뒤엔..
빨리 이걸 만들수 있어야 홈피를 올리는데..
1주일만에 빨리 배워야지..에구. -
최두규
2001.12.31 13:33
-
Gun
2002.01.03 13:51
흠..힘들어..ㅠ.ㅠ -
다니
2002.01.04 12:43
어케 하눈거지...ㅜㅜ -
지니하자
2002.08.02 08:00
열라게 해야지..ㅋ -
이서현
2002.12.05 23:52
머이딴게..ㅡㅡㅋ
난 로그인폼수정밖에 못하겟던데 -
FlyingSky
2003.09.16 18:05
이미지 깨졌는데... 수정 안해주세요... ㅠ.ㅜ -
(: 안호진 :)
2003.11.05 06:56
힘들다 정말로 ㅡ.ㅜ .. 따라할수 있을련지나.. -
주수빈
2005.11.12 05:25
책사서 보는게 젤 현명 할듯 ....도서관에서 빌려보기 ㅡ,,^
제목 | 글쓴이 | 날짜 |
---|---|---|
회원관리 프로그램을 구현하고 싶은신 분들께.. [7] | [폐]허접-_- | 2002.03.18 |
PHP 인증 페이지를 만들자! - Lesson 2 수정본 #1 [5] | ☺[폐]허접-_- | 2002.01.24 |
PHP 인증 페이지를 만들자! - Lesson 1 수정본 #2 | ☺[폐]허접-_- | 2002.01.24 |
노프레임/카운터에 관련된 PHP함수 팁 몇가지 [1] | 차카게살자 | 2001.12.28 |
MySQL 루트비번 분실시 대처요령 [29] | zero | 2001.04.18 |
교육용 방명록 #8 [delete.php3파일에서 넘겨받은 비밀번호를 검사하여 글을 삭제합니다.] [18] | zero | 2000.07.03 |
교육용 방명록 #7 [삭제 버튼을 눌렀을 때 비밀번호를 입력받는 부분입니다.] [5] | zero | 2000.07.03 |
교육용 방명록 #6 [수정된 값을 넘겨받아서 비밀번호를 비교하고 변경하여 줍니다.] [2] | zero | 2000.07.03 |
교육용 방명록 #3 [글쓰기 폼에서 넘어온 값을 DB에 입력하기] [5] | zero | 2000.07.03 |
교육용 방명록 #2 [글쓰기 폼 작성] [11] | zero | 2000.07.03 |
교육용 방명록 #1 [전체구성 설정, 테이블 생성, 기본함수 정의] [50] | zero | 2000.07.03 |
최근 게시물을 나타내는 원리와 방법 [55] | zero | 2000.03.06 |
교육용 메모장 #5 [21] | zero | 2000.07.10 |
교육용 메모장 #4 [18] | zero | 2000.07.10 |
교육용 메모장 #3 [16] | zero | 2000.07.10 |
교육용 메모장 #2 [18] | zero | 2000.07.10 |
교육용 메모장 #1 [53] | zero | 2000.07.10 |
윈2000, NT 또는 98에서 APM설치하기 [74] | zero | 2000.08.26 |
MySQL DB 데이타 백업/복구 하는 방법 [38] | zero | 2000.08.26 |
자동링크 만드는 방법!!! [28] | zero | 2000.03.06 |