12장 자유게시판 한빛미디어(주).

Slides:



Advertisements
Similar presentations
XHTML Basic 제 13 장 1. XHTML Basic의 개요 2. XHTML Basic 기본 문법 3. 표 만들기
Advertisements

10장 회원 가입과 로그인 한빛미디어(주).
09장 실습 웹 사이트 소개와 회원가입 페이지 제작.
웹 프로그래밍 HTML, 자바스크립트, ASP를 중심으로
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
2002/3/20 HTML 2002/3/20
HTML과 CGI 프로그래밍 PHP 웹 프로그래밍 (PHP Web Programming) 문양세
예방접종 정보 SITE.
MySQL API에서는 MySQL 내장 함수를 제공한다.
13장 공지사항 한빛미디어(주).
MySQL 연동 PHP 프로그래밍 기초 순천향대학교 정보기술공학부 이상정.
예제모음.
웹 해킹 기초와 실습.
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 빈을 이용한 회원가입 양식 작성하기 빈 작성
11장 방명록 한빛미디어(주).
8장 쿠키와 세션.
Project No 김현수 최종 작성일 :
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
9장. 요청 흐름제어와 모듈화 #1: <jsp:forward> 액션태그 사용
13장. 자바빈과 데이터베이스를 연동한 게시판 시스템
Web Server와 DB 연동.
6장 Mysql 명령어 한빛미디어(주).
MVC 기반 게시판 작성 Youbok Choi.
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
14장 질의응답 한빛미디어(주).
5장 Mysql 데이터베이스 한빛미디어(주).
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
학습목표 학습목차 Table 태그를 이용하여 표 만들기를 이해할 수 있습니다.
ASP.NET : Database 접근 2008 컴퓨터공학실험(Ⅰ)
홈페이지 만들기 HTML HyperText Markup Language 홈페이지를 만들 때 사용하는 언어
영단어 학습 사이트.
07장. <TABLE> 태그로 표 디자인하기
5. JSP의 내장객체1.
16장 설문조사 한빛미디어(주).
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
12 데이터베이스 사용하기.
5장 Mysql 데이터베이스 한빛미디어(주).
DB연동하기 원격db접속.
You YoungSEok Oracle 설치 You YoungSEok
BIZSIREN 실명확인서비스 개발 가이드 서울신용평가정보㈜ 신용조회부 (TEL , FAX )
HTML.
CHAP 13. 방명록 만들기 실습.
게임웹사이트운영 [10] 폼 작성.
Chapter11 웹 스토리지 & 웹 데이터베이스
9장 웹 사이트 초기 화면 제작 한빛미디어(주).
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
JSP Programming with a Workbook
15장 자료실 한빛미디어(주).
PHP 개요 및 설치 Yang-Sae Moon Department of Computer Science
Data Base Web Programming
인터넷응용프로그래밍 MYSQL(phpMyAdmin).
폼 관련 태그 폼 양식 직접 만들어보기 회원가입 절차 4단계
8장 쿠키와 세션 한빛미디어(주).
08장 쿠키와 세션.
17장 웹 사이트 제작 완성 한빛미디어(주).
ASP 수행 화면(1).
문성우 SQL 실습 Part Ⅰ 문성우.
세션 (Session) Yang-Sae Moon Department of Computer Science
자바빈/커넥션 풀/세션을 사용한 Ajax 기반의 게시판 시스템
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
Chapter 10 데이터 검색1.
HTML HTML 기본 구조와 태그 다양한 태그 다루기
maria db JDBC PROGRAMMING 5
Data Base Web Programming
웹과 모바일 홈페이지의 이해와 제작 [PHP / MYSQL] 게시판 만들기
 6장. SQL 쿼리.
Presentation transcript:

12장 자유게시판 한빛미디어(주)

학습 목표 자유게시판 동작 기능을 이해한다 자유게시판 DB 테이블을 생성하는 법을 익힌다. 자유게시판 목록 보기/검색 소스를 이해한다. 자유게시판 글을 DB 테이블에 저장 방법을 익힌다. 자유게시판의 글 내용 소스를 이해한다. 글 수정 방법을 익힌다 글 내용을 삭제하는 방법을 익힌다

주요 학습 내용 01. 파일목록 및 DB 테이블 02. 목록 보기 및 검색 03. 글쓰기 04. 글 내용 보기 05. 글 수정 및 삭제

자유게시판 기능 01 ⑴ 로그인 여부와 상관없는 글 쓰기 ⑵ 글 내용 수정 및 삭제 시 비밀번호 확인 ⑶ 관리자 로그인 시 모든 글의 수정 및 삭제 가능 ⑷ 제목, 글내용, 글쓴이를 키워드로 하는 문자열 검색 ⑸ 목록보기 아래에 링크 페이지 번호 표시

자유게시판 미리 보기 02

자유게시판 파일 목록 03 파일명 설명 freeboard.sql 자유게시판 DB 테이블 생성 명령 list.php 게시판 목록 보기 insert.php 게시판 글을 DB에 저장 passwd_form.php 글 삭제 시 사용되는 비밀번호 확인 양식 delete.php 게시판 글을 DB에서 삭제 modify_form.php 게시판 글 수정 양식 modify.php 게시판 글을 DB에서 수정 search.php 특정 문자열로 검색된 게시판 글 목록 view.php 글 내용 보기 write_form.php 게시판 글쓰기 양식 [표 12-1] 자유게시판에 사용되는 파일 목록

자유게시판 프로그램 설치 04 ⑴ 작업 폴더(“www" 폴더) 밑에 “freeboard" 폴더를 만들고 생성된 “freeboard" 폴더 밑에 교재 뒤 CD의 “www\freeboard" 폴더에 있는 파일들과 "img" 디렉토리를 통째로 복사한다. ⑵ 자유게시판 DB 테이블을 생성한다.

not null, auto_increment, 자유게시판 DB 테이블 05 필드 이름 타입 추가 사항 필드 설명 num int not null, auto_increment, primary key 일렬 번호 name varchar(20) not null 이름 passwd 비밀 번호 subject varchar(100) 제목 content text 글 내용 regist_day   글 쓴 날짜 hit 조회수 ip 접속 IP [표 12-2] 자유게시판 DB 테이블 (테이블 명 : freeboard)

자유게시판 DB 테이블 만들기 06 메모장으로 다음을 타이핑한 다음 “c:\mysql\bin” 폴더 밑에 “freeboard.sql”이름으로 저장 CREATE TABLE freeboard (        num int not null auto_increment,        name varchar(20) not null,        passwd varchar(20) not null,        subject varchar(100) not null,        content text not null,        regist_day varchar(20),        hit int,        ip varchar(20),        PRIMARY KEY (num)  ); 명령 프롬프트에서 다음을 실행  C:\mysql\bin> mysql -uphp5 -p1234 php5_db < freeboard.sql

【예제 12-1】list.php 02 자유게시판 목록 보기 1 : <?  2 :    $scale = 5;   // 한 화면에 표시되는 글 수  4 :    include "../dbconn.php";  6 :    $sql = "select * from freeboard order by num desc";  7 :    $result = mysql_query($sql, $connect);  8 : ?>  9 : <html>  10 : <META http-equiv="Content-Type" content="text/html; charset=Korean">  11 :  <head>  12 :   <title> :: PHP 프로그래밍 입문에 오신 것을 환영합니다~~ :: </title>  13 :   <link rel="stylesheet" href="../style.css" type="text/css">    14 :  </head>  15 :  <body leftmargin="0" topmargin="0" marginwidth="0“ marginheight="0">

【예제 12-1】list.php 02  24 : <?  $total_record = mysql_num_rows($result); // 전체 글 수 ?>  25 :         <tr>  26 :           <td align="right" colspan="5" height=20>전체  27 :             <? echo $total_record; ?>건  28 :             </td></tr>  29 :         <tr> <td> 32 : <table border=0 cellspacing=0 cellpdding=0 width='100%‘ class="txt">  33 :         <tr bgcolor="#5AB2C8">  34 :           <td colspan="5" height=1></td></tr>  36 :         <tr bgcolor="#D2EAF0" height=25>  37 :           <td width="50" align="center"><strong>번호</strong></td>  38 :           <td width="450" align=center><strong>제목</strong></td>  39 :           <td width="76" align=center><strong>글쓴이</strong></td>  40 :           <td width="145" align=center><strong>작성일</strong></td>  41 :           <td width="55" align=center><strong>조회</strong></td></tr>

【예제 12-1】list.php 02 47 : <? 48 : // 전체 페이지 수($total_page) 계산  47 : <?  48 :    // 전체 페이지 수($total_page) 계산  49 :    if ($total_record % $scale == 0)      50 :       $total_page = floor($total_record/$scale);       51 :    else  52 :       $total_page = floor($total_record/$scale) + 1;  53 :   54 :    if (!$page)                 // 페이지번호($page)가 0 일 때  55 :        $page = 1;              // 페이지 번호를 1로 초기화   57 :    // 표시할 페이지($page)에 따라 $start 계산   58 :    $start = ($page - 1) * $scale;       60 :    $number = $total_record - $start;   62 :   for ($i=$start; $i<$start+$scale && $i < $total_record; $i++)      63 :    {  // 가져올 레코드로 위치(포인터) 이동   64 :       mysql_data_seek($result, $i);        65 :       // 하나의 레코드 가져오기  66 :       $row = mysql_fetch_array($result);    

【예제 12-1】list.php 02 69 : $day = $row[regist_day];  71 :       // 레코드 화면에 출력하기  72 :       echo " <tr height=25>  74 :           <td align=center>$number</td>  75 :           <td><img src='img/record_id.gif' border=0>  76 :               <a href='view.php?num=$row[num]&page=$page'>  77 :                        $row[subject] </a></td>  78 :           <td align=center>$row[name] </td>  79 :           <td align=center>$day</td>  80 :           <td align=center>$row[hit]</td>  81 :         </tr>  82 :         <tr bgcolor='#CCCCCC' height=1>  83 :           <td colspan='5'></td></tr>     ";  86 :     $number--;  87 :    }  88 : ?>

【예제 12-1】list.php 02 126 :        <form name=searchForm method=post action="search.php">  127 :         <tr>  128 :           <td>    129 :             <select name="find" class="txt">  130 :               <option value="subject">제목에서</option>  131 :               <option value="content">본문에서</option>  132 :               <option value="name">글쓴이에서</option>  133 :             </select>  134 :                           135 :               <input type="text" name="search" size=10>  136 :               <input type="image" src="img/i_search.gif"  137 :                     align=absmiddle border=0>  138 :           </td>  139 :  140 :           <td align=right>

【예제 12-1】list.php 02 141 : <a href="write_form.php">  142 :                <img src="img/i_write.gif" align=absmiddle border=0></a>  143 :         <a href="list.php"><img src="img/i_list.gif" border=0></a>  144 :          </td>  145 :         </tr>  146 :         <tr height=5>  147 :           <td></td>  148 :         </tr>  149 :         <tr bgcolor="#5AB2C8" height=1>  150 :           <td colspan=2></td>  151 :         </tr>  152 :        </form>  153 :     </table>  154 :    <!-- 검색하기 끝 -->  155 :  </body>  156 : </html>

【예제 12-2】search.php 02 검색하기 1 : <?  2 :    $scale = 5;   // 한 화면에 표시되는 글 수  3 :  4 :    include "../dbconn.php";  5 :  6 :    // $find : subject, name, content 중 하나의 값을 가짐  7 :    // $search : 입력된 문자열  8 :    $sql = "select * from freeboard where $find like '%$search%'  9 :            order by num desc";  10 :    $result = mysql_query($sql, $connect);  11 : ?>  위 소스를 제외하면 list.php 와 동일

【예제 12-3】write_form.php 02 글쓰기 폼 양식 1 : <html> 2 : <head>  3 :   <title>:: PHP 프로그래밍 입문에 오신 것을 환영합니다~~ ::</title>  4 :  <link rel="stylesheet" href="../style.css" type="text/css">      5 :  </head>  6 :  <body leftmargin="0" topmargin="0" marginwidth="0"  7 :      marginheight="0">  9 :     <table width=776 align=center border=0 cellspacing=0  10 :                cellpadding=0>  11 :        <form name="writeform" action="insert.php" method="post">  12 :         <tr><td colspan="6" height=25>  13 :               <img src="img/freeboard_title.gif"> </td></tr>  15 :         <tr><td background="img/bbs_bg.gif">  16 :               <img border="0" src="img/blank.gif"  17 :                     width="1" height="3"></td></tr>

【예제 12-3】write_form.php 02 32 :     <table width="100%" border=0 cellspacing=0 cellpadding=0  33 :            class="txt">  34 :         <tr height=25>  35 :           <td align=right width=100>이름 </td>  36 :           <td align=left>  37 :             <input style='font-size:9pt;border:1px solid'  38 :                     type=text name="name"  39 :                     size=25 maxlength=16></td> </tr>  42 :         <tr height=25>  43 :           <td align=right>비밀번호 </td>  44 :           <td align=left>  45 :             <input style='font-size:9pt;border:1px solid'  46 :                     type="password" name="passwd" size=25  47 :                maxlength=16>  48 :           </td></tr>  51 :     </table>

【예제 12-3】write_form.php 02  62 :     <table width="100%" border=0 cellspacing=0 cellpadding=0  63 :            class="txt">  64 :         <tr>  65 :           <td height=25>  제목     66 :             <input style='font-size:9pt;border:1px solid'  67 :                     type='text‘ name="subject" size=50 maxlength=100>  68 :           </td>  69 :         </tr>  71 :         <tr valign=top>  72 :           <td align="center" >  73 :              <p align="left">  내용     74 :              <textarea style='font-size:9pt;border:1px solid'  75 :                         name="content" style=background-image:url  76 :                               ('img/bbs_text_line.gif');  77 :                       cols=74 rows=14 wrap=virtual></textarea>  78 :           </td> </tr>

【예제 12-3】write_form.php 02 80 : <tr height=20>  81 :           <td></td>   </tr>  83 :         <tr height=1 bgcolor=#5AB2C8><td></td></tr>  84 :         <tr><td height=30 align=center valign=top bgcolor="FFFFFF">  86 :           <br>  88 :             <input type=image src="img/i_write.gif" align=absmiddle  89 :                  border=0>  <a href='list.php'>  90 :                       <img style='cursor:hand‘ src="img/i_list.gif"  91 :                            align=absmiddle border=0 ></a></td>  93 :         </tr> </table>  95 :           </td>  96 :         </tr>  97 :     </table>  98 :           </td> </tr>  100 :        </form>  101 :     </table>  102 :   </body> </html>

【예제 12-4】insert.php 02 작성 글 DB 저장 1 : <?  1 : <?  2 :    /* 이전화면에서 이름이 입력되지 않았으면  3 :       "이름을 입력하세요" 메시지 출력*/  4 :    if(!$name) {  5 :      echo(" <script> window.alert('이름을 입력하세요.')  8 :        history.go(-1)  9 :       </script> ");  11 :    exit;  12 :    }  13 :     14 :    if(!$passwd) {  15 :      echo(" <script> window.alert('비밀번호를 입력하세요.')  18 :        history.go(-1)  19 :      </script> ");  21 :    exit;  22 :    }

【예제 12-4】insert.php 02 44 :    include "../dbconn.php";       // dconn.php 파일을 불러옴  46 :    $regist_day = date("Y-m-d (H:i)");   47 :    // 현재의 '년-월-일-시-분'을 저장  48 :    $ip = $REMOTE_ADDR;         // 방문자의 IP 주소를 저장 50 :  51 :    $sql = "insert into freeboard(name, passwd, subject,  52 :            content, regist_day, hit, ip) ";  53 :    $sql .= "values('$name', '$passwd', '$subject', '$content',  54 :                    '$regist_day', 0, '$ip')";       56 :     57 :    mysql_query($sql, $connect);  // $sql 에 저장된 명령 실행  58 :  59 :    mysql_close();                // DB 연결 끊기  60 :     61 :    Header("Location:list.php");  // list.php 로 이동합니다.  62 : ?>

【예제 12-5】view.php 02 작성 글 DB 저장 1 : <? 2 : session_start();  1 : <?  2 :     session_start();  3 : ?>  5 : <html>  6 :  <head>  7 :   <title>:: PHP 프로그래밍 입문에 오신 것을 환영합니다. :: </title>  8 :   <link rel="stylesheet" href="../style.css" type="text/css">  9 :  </head>  10 :  <body leftmargin="0" topmargin="0" marginwidth="0“ marginheight="0">  12 :     <table width=776 border=0 cellspacing=0 cellpadding=0 align=center>  14 :         <tr><td colspan="6" height=25>  15 :              <img src="img/freeboard_title.gif"></td></tr>  16 :         <tr><td background="img/bbs_bg.gif">

【예제 12-5】view.php 02 17 : <img border="0" src="img/blank.gif"  18 :                    width="1" height="3"></td></tr>  19 :         <tr><td height=10></td></tr>  21 :         <tr><td height=10></td></tr>  24 :         <tr height=1 bgcolor=#5AB2C8><td></td> </tr>  27 : <?  28 :    include "../dbconn.php";  29 :  30 :    $sql = "select * from freeboard where num=$num";  31 :    $result = mysql_query($sql, $connect);  32 :    $row = mysql_fetch_array($result);  33 :     34 :    $content = str_replace("\n", "<br>", $row[content]);  35 :    $content = str_replace(" ", " ", $content);  36 :    $subject = str_replace(" ", " ", $row[subject]);  37 : ?>

【예제 12-5】view.php 02 39 : <tr bgcolor="#D2EAF0" height=30>  40 :           <td>  <b><? echo $subject ?></td> </tr>  42 :         <tr height=1 bgcolor=#5AB2C8>  43 :           <td></td> </tr>  45 :         <tr> <td>  47 :     <table width=100% border=0 cellspacing=10 cellpadding=0 class=txt>  48 :         <tr>  49 :           <td><b>글쓴이 : <? echo $row[name] ?></b>    50 :                           <? echo $row[regist_day] ?> </td>  52 :         <tr height=1 bgcolor=#5AB2C8> <td></td></tr>  53 :         <tr> <td><br> <? echo $content ?></td> </tr>  56 :     </table> </td> </tr>  59 :         <tr height=20>  60 :            <td align=right> <font size=-2>IP :  61 :                           <? echo $row[ip]; ?></font></td> </tr>

【예제 12-5】view.php 02 75 : <? 76 : if ($userid == "admin") 77 : {  75 : <?  76 :    if ($userid == "admin")  77 :    {  78 :       echo "  79 :         <tr>  80 :           <td align=center>  81 :           <a href='modify_form.php?num=$num&page=$page'>  82 :                            <img src='img/i_edit.gif' border=0>&nbsp</a>  83 :           <a href='delete.php?num=$num&page=$page'>  84 :                            <img src='img/i_del.gif' border=0>&nbsp</a>  85 :           <a href='list.php?page=$page'>  86 :                            <img src='img/i_list.gif' border=0></a>  87 :           </td>  88 :         </tr>  89 :            ";  90 :    }

【예제 12-5】view.php 02 91 : else 92 : { 93 : echo "  92 :    {  93 :       echo "  94 :         <tr><td align=center>  96 : <a href='passwd_form.php?case=modify&num=$num&page=$page'>  97 :                            <img src='img/i_edit.gif' border=0>&nbsp</a>  98 :    <a href='passwd_form.php?case=delete&num=$num&page=$page'>  99 :                            <img src='img/i_del.gif' border=0>&nbsp</a>  100 :           <a href='list.php?page=$page'>  101 :                            <img src='img/i_list.gif' border=0></a>  102 :           </td>  103 :         </tr>  104 :            ";  105 :    }  106 : ?>

【예제 12-5】view.php 02 108 : </td> 109 : </table>  110 :  </body>  111 : </html>  112 : <?  113 :     $hit = $row[hit];  114 :  115 :     $hit++;  116 :  117 :     $sql = "update freeboard set hit=$hit where num=$row[num]";  118 :     mysql_query($sql, $connect);  119 :     mysql_close();  120 : ?>

【예제 12-6】passwd_form.php 02 자유게시판 글 수정/삭제를 위한 비밀번호 확인 35 : <?  35 : <?  36 :    if ($case == "modify")  37 :    {  38 :       echo "<form name=pwform method=post  39 :                 action='modify_form.php?num=$num&page=$page'>";  40 :    }  41 :    else  42 :    {  43 :       echo "<form name=pwform method=post  44 :                 action='delete.php?num=$num&page=$page'>";  45 :    }  46 : ?>  나머지는 방명록의 passwd_form.php 와 동일

【예제 12-7】modify_form.php 02 글 내용 수정 양식 1 : <? 2 : session_start();  1 : <?  2 :    session_start();  4 :    include "../dbconn.php";  5 :    $sql = "select * from freeboard where num=$num";  7 :    $result = mysql_query($sql, $connect);  8 :    $row = mysql_fetch_array($result);  9 :  10 :    if ($passwd != $row[passwd] and $userid != "admin")  11 :    {      echo "  13 :          <script>  14 :              alert('비밀번호가 틀립니다.')  15 :              history.go(-1)  16 :          </script>   ";  18 :       exit;     }  20 : ?>

【예제 12-7】modify_form.php 02 34 : <form name="modifyform"  35 :          action="modify.php?num=<? echo $num; ?>&  36 :            page=<? echo $page; ?>" method="post"> <tr>  38 :            <td align=center colspan=2>  39 :     <table width=776 border=0 cellspacing=0 cellpadding=0  40 :            class="txt" bgcolor=#F7F7F2>  41 :         <tr height=1 bgcolor=#5AB2C8><td></td></tr>  42 :         <tr bgcolor="#D2EAF0" height=20>  43 :           <td width="100%">    44 :             <b>이름, 전자우편주소, 비밀번호</b></td> </tr>  46 :         <tr height=1 bgcolor=#5AB2C8><td></td></tr>  47 :         <tr> <td>  49 :     <table width="100%" border=0 cellspacing=0 cellpadding=0  50 :            class="txt">  51 :         <tr height=25>  52 :           <td align=right width=100>이름 </td>

【예제 12-7】modify_form.php 02 53 : <td align=left>  54 :             <input style='font-size:9pt;border:1px solid' type=text  55 :                     name="name" value="<? echo $row[name] ?>"  56 :                     size=25 maxlength=16></td> </tr>  59 :         <tr height=25>  60 :           <td align=right>비밀번호 </td>  61 :           <td align=left><input style='font-size:9pt;border:1px solid'  62 :            type="password" name="passwd"  63 :           value="<? echo $row[passwd]; ?>" size=25 maxlength=16>  64 :           </td> </tr>  67 :     </table>  68 :           </td> </tr>  70 :         <tr height=1 bgcolor=#5AB2C8><td colspan=2></td></tr>  71 :         <tr bgcolor="#D2EAF0" height=20>  72 :  <td colspan=2>  <b>하고 싶은 말을 남기세요. </b></td> </tr>       

【예제 12-7】modify_form.php 02  74 :         <tr height=1 bgcolor=#5AB2C8><td colspan=5></td></tr>   75 :         <tr><td colspan=2>  77 :     <table width="100%" border=0 cellspacing=0  78 :                    cellpadding=0 class="txt">  79 :         <tr><td height=25>  제목     81 :            <input style='font-size:9pt;border:1px solid'  82 :                    type='text' name="subject"  83 :                   value="<? echo $row[subject]; ?>"  84 :                    size=50 maxlength=100></td> </tr>  86 :         <tr><td height=2>  </td> </tr>  88 :         <tr valign=top>  89 :           <td>  내용    90 :            <textarea style='font-size:9pt;border:1px solid'  91 :                       name="content" style=background-image:url  92 :                            ('img/bbs_text_line.gif');  93 :                       cols=74 rows=14 wrap=virtual>  94 :                       <? echo $row[content] ?> </textarea></td> </tr>

【예제 12-7】modify_form.php 02  97 :         <tr height=20> <td></td> </tr>  100 :         <tr height=1 bgcolor=#5AB2C8><td colspan=5></td></tr>  101 :         <tr><td height=30 align=center valign=top bgcolor="FFFFFF">  105 :           <input type=image src="img/i_write.gif"  106 :                 align=absmiddle border=0>   107 :                 <a href='list.php?page=<? echo $page ?>'>  108 :                 <img style='cursor:hand‘ src="img/i_list.gif"  109 :                      align=absmiddle border=0 ></a></td> </tr>  112 :     </table>  113 :           </td></tr>  115 :     </table>  116 :           </td> </tr>  118 :      </form>  119 :     </table>  120 :   </body>  121 : </html>

【예제 12-8】modify.php 02 글 내용 수정하기 1 : <?  1 : <?  2 :    // 이전화면에서 이름이 입력되지 않았으면 "이름을 입력하세요"  4 :    if(!$name) { echo("  6 :       <script>  7 :         window.alert('이름을 입력하세요.')  8 :         history.go(-1)  9 :       </script> ");   exit;  12 :    }  13 :     14 :    if(!$passwd) { echo(" 16 : <script>  17 :        window.alert('비밀번호를 입력하세요.')  18 :        history.go(-1)  19 :      </script>   ");   exit;  22 :    }

【예제 12-8】modify.php 02 44 : include "../dbconn.php";  46 :    $regist_day = date("Y-m-d (H:i)");  // 현재의 날짜 저장  47 :    $ip = $REMOTE_ADDR;         // 방문자의 IP 주소를 저장  49 :  50 :    $sql = "update freeboard set name='$name', subject='$subject', ";  51 :    $sql .= "content='$content', passwd='$passwd' where num=$num";  52 :     53 :    mysql_query($sql, $connect);  54 :    mysql_close();  55 :    // list.php 로 이동  56 :    Header("Location:list.php?num=$num&page=$page");   57 : ?>

【예제 12-9】delete.php 02 글 삭제하기 1 : <? 2 : session_start();  1 : <?  2 :    session_start();  4 :    include "../dbconn.php";  5 :  6 :    $sql = "select passwd from freeboard where num=$num";  7 :    $result = mysql_query($sql, $connect);  8 :    $row = mysql_fetch_array($result); // 해당 레코드 가져옴  10 :    // $passwd : 사용자가 passwd_form.php 화면에서 입력한 값  11 :    // $row[passwd] : DB에 들어있는 값  12 :    if ($passwd != $row[passwd] and $userid != "admin")    13 :   // 관리자가 아니고 비밀번호가 틀리면  14 :    {  15 :       echo("  16 :            <script>  17 :              window.alert('비밀번호가 틀립니다.')

【예제 12-9】delete.php 02 18 : history.go(-1) 19 : </script>  20 :           ");  21 :       exit;  22 :    }  23 :    else  24 :    {  25 :       $sql = "delete from freeboard where num = $num";  26 :       mysql_query($sql, $connect);  27 :       mysql_close();  28 :       Header("Location:list.php?page=$page");  29 :    }  30 : ?>