야매강좌 php10강 : 글쓰기와 DB연동
오늘은 게시판에 글쓰기를 만들겁니다. DB연동도 배우고요. DB연동이란 뭘까요? 그냥 데이터베이스(DB)에 입력하거나 DB의 내용을 빼온다는 얘깁니다.
(1) 에러 함수 만들기
거두절미하고 코딩해보겠습니다. 일단 error라는 함수를 만들어봅시다.
|
<html><body> <? //php 시작 function error($msg) //error라는 함수를 만든다. (괄호 안의 내용은 ‘인자’라고 한다. 현재 인자는 $msg 1개) echo //원래는 출력 함수. php 안에서 자바스크립트 혹은 일반 html언어를 쓰려면 echo를 사용하면 된다 exit; //끝
error(“에러 발생!”) //에러함수를 로드함 ?> //php 끝 </body></html> |
소스 설명을 하면 다음과 같습니다. 먼저 error라는 함수를 만들었죠. 이 함수는 메시지를 띄우고, 이전 페이지로 돌아가는 함수입니다. (메세지와 이전 페이지로 이동은 자바스크립트로 처리했습니다)
위 소스에 의하면, error(“블라블라”)라고 쓰면 “블라블라”가 $msg 변수에 들어가죠. 그리고 alert(‘$msg’)에 의해서 “블라블라”가 에러 메시지로 뜨게 됩니다. 이게 인자를 사용하는 이유입니다.
인자는 1개 뿐만 아니라 여러 개 있는 함수를 만들 수 있어요. 덕분에 편하게 프로그래밍 가능하죠.
예를 들어 인자 3개의 함수를 만들어 봅시다.
function hamsoo($a, $b, $c)
{ $d = $a + $b + $c;
echo $d; }
요렇게 만들어두고 아래와 같이 써보세요.
hamsoo(1, 3, 5);
결국 값으로 9가 출력되게 됩니다. ($d = 1 + 3 + 5)
(2) 입력 페이지 만들기
입력 페이지를 만들어봅시다. 9강에서 했던 것과 비슷합니다.
일단 이름과 내용칸만 넣어보죠.
C:\APM_Setup\htdocs\10-1.php
|
<html>
//체크인풋 함수. 이름이랑 내용이 입력되어 있다면 전송(submit)한다 } }
//이름 칸과 내용 칸을 둔다. 글 입력을 클릭하면 체크인풋 함수를 로드한다 <body> <input type=’button’ value=’글 입력’ onclick=”javascript:check_input();”> </body> |
아래와 같이 나온다.
(3) 처리 페이지 만든다
10-2.php
|
<html><body>
//(1) DB에 연결한다. mysql_select_db(“oaphp”); //mysql_connect(“서버”, “아이디”, “패스워드” 로 쓰면 된다. 연결 안될시 에러함수 로드
//(2) 전송받은 데이터를 변수로 저장
//(3) 초기값 설정. 시간, 아이피주소, 카운트(게시글 번호)를 설정한다. 자세히 알 건 없다
//(4) 입력 검사. 알다시피 공백이 있는지 없는지 검사. 자세히 알 건 없다 if(!ereg(“([^[:space:]])”, $content))
//(5) DB에 데이터를 넣는다(=글 입력) mysql_query($sql) or die(mysql_error()); //사용법은 //하나. insert into 테이블명 (필드명1, 필드명2,…) values (필드값1, 필드값2…) 을 변수에 넣는다 //둘. mysql_query($변수명)
//(6) 글 입력했다고 메시지 띄우고 마친다 window.alert(‘글 입력했습니다’); ?> </body></html> |
(4) 실행해본다
실행법은 간단합니다.
1. 우선 localhost/10-1.php 로 접속해서 이름과 내용을 적당히 쓰고 입력 버튼을 누릅니다
나는 이름 : bbear, 내용 : hello world 라고 썼습니다
2. 글이 입력되었다고 메시지 뜰 것입니다
3. DB를 살펴봅니다
윈도우 작업표시줄의 APMSETUP모니터 에서 마우스 우클릭 -> MySQL 관리 클릭 -> 아이디/비번 넣고 로그인(초기 아이디:root, 초기 비번: apmsetup) -> 좌측에서 oaphp 디비명을 클릭
위 그림과 같이 데이터가 들어있으면 성공입니다.