yes, 0 -> no) // 방명록의 테이블 이름은 guestbook 입니다. // =================================================================================== // $mode 는 new, up, del 또는 NULL 의 값을 가집니다. ( NULL = 無 ) // $mode 가 new 라는 값을 가지면 새 글을 입력할 때 // $mode 가 up 이라는 값을 가지면 글을 DB에 저장할 때 // $mode 가 del 이라는 값을 가지면 글을 지울때 입니다. // =================================================================================== // ========== // 글 지우기 // ========== if ($mode == 'del') { if ($REMOTE_ADDR != $admin_ip) //$REMOTE_ADDR 은 접속자의 IP정보입니다. { // 관리자 IP와 접속자 IP가 다르므로 글 삭제 권한이 없다. echo(" "); echo(""); exit; } else { //접속자 IP가 관리자 IP와 같으면 글을 지울 수 있는 권리가 있다. $que1 = "delete from guestbook where id=$id"; //SQL문을 만들고 $result = mysql_query($que1,$connect); //SQL문을 실행한다. } } // ============= // 새 글 올리기 // ============= if ($mode == 'up') { if (!$name || !$comment) { //이름과 내용을 적으란 말야!! 적어!!! echo(" "); exit; } if (!$allow_html) { //HTML 입력을 허용하지 않으면 $name = htmlspecialchars($name); // HTML코드를 특수문자로 바꾸어버림 $comment = htmlspecialchars($comment); // 예) -> <b> } // =================================================================================== // htmlspecialchars 함수를 쓰면 HTML 코드가 적용되지 아니하고 코드를 그대로 출력해준다. // addslashes 함수는 DB에 데이터를 입력할때 ' (작은따옴표) 같은 값들이 SQL 문에서 // 에러가 나지않고 입력되게 하기위한 배려이다. // =================================================================================== $name = addslashes($name); $home = addslashes($home); $email = addslashes($email); $comment = addslashes($comment); $que1 = "insert into guestbook values "; $que1 .= "('','$name','$home','$email','$comment','$REMOTE_ADDR',now())"; $result = mysql_query($que1,$connect); if ($result) { // DB에 입력이 잘되었다면.. echo(""); exit; } else { // DB에 데이터 입력중 오류가 발생한경우.. echo(" "); exit; } } //up end // ============== // 새 글 쓰기 폼 // ============== if ($mode == 'new') { //새글쓰기 폼을 출력한다. echo("

이름

 

HOMEPAGE

 http://

Email 주소

 

남기실 말씀

 

 

"); } // ============= // 내용보여주기 // ============= if (!$mode || $result) { //$mode 변수가 NULL 이면 입력된 내용을 출력한다. if (!$start) { $start = 0; } $que1 = "select DATE_FORMAT(reg_date,'%Y.%m.%d') as date,reg_date,id,comment,name"; $que1 .= ",home,email,ip from guestbook order by id DESC"; $result = mysql_query($que1,$connect); $total = mysql_affected_rows(); // ================================================================ // $que1 이라는 SQL문을 작성하고 SQL문을 실행한다. // $total 에는 검색된 자료의 수가 입력된다. // ================================================================ for($i=$start ; $i<$start+$scale ; $i++) { // start 에서 scale 까지 만 if ($i < $total) { // 전체 자료 개수까지만 출력 mysql_data_seek($result,$i); //검색된 자료중 $i 번째글을 찾고 $row = mysql_fetch_array($result); //$i번째글의 내용을 $row 변수에 배열로 저장합니다. $row[comment] = stripslashes($row[comment]) ; //addslashes 한값을 제거 echo("

지우기

$row[0] from $row[ip]

Name

$row[name]

Home / Email

 "); if ($row[email]) echo(" 편지쓰기$row[email]  "); if ($row[home]) echo("홈페이지http://$row[home]"); echo("

Comment 

$row[comment]



"); } } } // ===================== 내용 보여주기 끝 =========== if (!$mode || $result) { // ==================== 하단 버튼 ============== echo("
방명록에 글쓰기 "); $p_p = $start - $scale ; // 이전 페이지는 시작 글에서 $scale을 뺀값부터 $n_p = $start + $scale ; // 다음 페이지는 시작 글에서 $scale을 더한값부터 if ($p_p >= 0 && $mode != 'new') { echo("이전 페이지 "); } if ($n_p < $total && $mode != 'new') { echo("다음 페이지
"); } } echo("

"); ?>