11장 방명록 한빛미디어(주).

Slides:



Advertisements
Similar presentations
홈페이지 만들기. Cyber 공간에서 자신이 갖고 있는 정보 나 관심사를 다른 사람들에게 체계적으 로 공개하거나, 시간과 장소에 구애 받지 않고 정보화 시대에 발맞춰 자신을 어필 할 수 있음.
Advertisements

XHTML Basic 제 13 장 1. XHTML Basic의 개요 2. XHTML Basic 기본 문법 3. 표 만들기
CHAPTER 15. JSP.
10장 회원 가입과 로그인 한빛미디어(주).
09장 실습 웹 사이트 소개와 회원가입 페이지 제작.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
HTML과 CGI 프로그래밍 PHP 웹 프로그래밍 (PHP Web Programming) 문양세
예방접종 정보 SITE.
MySQL API에서는 MySQL 내장 함수를 제공한다.
13장 공지사항 한빛미디어(주).
MySQL 연동 PHP 프로그래밍 기초 순천향대학교 정보기술공학부 이상정.
예제모음.
웹 해킹 기초와 실습.
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 빈을 이용한 회원가입 양식 작성하기 빈 작성
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 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
HTML과 TAG 편집 ※ 01/ 태이블 태그 소스 (태이블 편집)
학습목표 학습목차 Table 태그를 이용하여 표 만들기를 이해할 수 있습니다.
ASP.NET : Database 접근 2008 컴퓨터공학실험(Ⅰ)
홈페이지 만들기 HTML HyperText Markup Language 홈페이지를 만들 때 사용하는 언어
영단어 학습 사이트.
07장. <TABLE> 태그로 표 디자인하기
5. JSP의 내장객체1.
16장 설문조사 한빛미디어(주).
8 데이터베이스 사용하기.
12 데이터베이스 사용하기.
KHS JDBC Programming 4 KHS
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
폼 관련 태그 폼 양식 직접 만들어보기 회원가입 절차 4단계
8장 쿠키와 세션 한빛미디어(주).
12장 자유게시판 한빛미디어(주).
17장 웹 사이트 제작 완성 한빛미디어(주).
ASP 수행 화면(1).
LOGIN할 때 아이디, 비번 입력 여부 체크하기
세션 (Session) Yang-Sae Moon Department of Computer Science
13장 자바빈과 데이터베이스를 연동한 게시판 시스템
자바빈/커넥션 풀/세션을 사용한 Ajax 기반의 게시판 시스템
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
HTML HTML 기본 구조와 태그 다양한 태그 다루기
maria db JDBC PROGRAMMING 5
Data Base Web Programming
웹과 모바일 홈페이지의 이해와 제작 [PHP / MYSQL] 게시판 만들기
Data Base Mysql.
Presentation transcript:

11장 방명록 한빛미디어(주)

학습 목표 방명록 동작 기능을 이해한다 방명록 DB 테이블을 생성하는 법을 익힌다 방명록 메인 화면 소스를 이해한다.

주요 학습 내용 01. 파일목록 및 DB 테이블 02. 방명록 메인 프로그램 03. 방명록 글 저장 04. 방명록 글 삭제

방명록 기능 01 ⑴ 로그인 여부와 상관없는 글 쓰기 ⑵ 글쓴이, 글쓴 날짜, 글 내용, 접속 IP 등의 방명록 글 출력 ⑶ 글 삭제 시 비밀번호 확인 ⑷ 목록보기 아래에 링크 페이지 번호 표시

방명록 미리보기 02

방명록 파일 목록 03 파일명 설명 guestbook.sql 방명록 DB 테이블 생성 명령 guestbook.php 방명록 메인 화면 insert.php 방명록 글을 DB에 저장 passwd_form.php 글 삭제 시 사용되는 비밀번호 확인 양식 delete.php 방명록 글을 DB에서 삭제 [표 11-1] 방명록에 사용되는 파일 목록

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

not null, auto_increment, 방명록 DB 테이블 05 필드 이름 타입 추가 사항 필드 설명 num int not null, auto_increment, primary key 일렬 번호 name varchar(10) not null 이름 passwd 비밀 번호 content text 글 내용 egist_day varchar(20)   글 쓴 날짜 ip 접속 IP [표 11-2] 방명록 DB 테이블(테이블 명 : guestbook)

방명록 DB 테이블 만들기 06 메모장으로 다음을 타이핑한 다음 “c:\mysql\bin” 폴더 밑에 “guestbook.sql”이름으로 저장  create table guestbook (    num int not null auto_increment,    name varchar(10) not null,    passwd varchar(10) not null,    content text not null,    regist_day varchar(20),    ip varchar(20),    primary key(num)  ); 명령 프롬프트에서 다음을 실행  C:\mysql\bin> mysql -uphp5 -p1234 php5_db < guestbook.sql

【예제 11-1】guestbook.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“ marginheight="0">  7 :     <table border=0 cellspacing=0 cellpdding=0 width='776' align='center'>  8 :         <tr>  9 :           <td colspan="5" height=25>  10 :            <img src="img/guestbook_title.gif"></td>  11 :         </tr>  12 :         <tr>  13 :           <td background="img/bbs_bg.gif">

【예제 11-1】guestbook.php 02  14 :    <img border="0" src="img/blank.gif" width="1" height="3"></td>  15 :         </tr>  16 :     </table>  17 :         <tr><td background="img/bbs_bg.gif">  19 :        <img border="0" src="img/blank.gif" width="1" height="1"></td>  20 :         </tr>  21 :     <table border=0 cellspacing=0 cellpdding=0 width='776‘ align='center'>  22 :      <form action="insert.php">  23 :         <tr><td>이름  : <input type=text  24 :         style='font-size:9pt;border:1px solid' name=name size=10>  25 :             비밀번호 :  26 :         <input type=password style='font-size:9pt;border:1px solid'  27 :                name=passwd size=10></td></tr>  28 :         <tr height=5><td> </td></tr>  29 :         <tr><td><textarea style='font-size:9pt;border:1px solid'  30 :                            name="content” style=background-image:url

【예제 11-1】guestbook.php 02  31 :                           ('img/bbs_text_line.gif'); cols=125 rows=5  32 :                            wrap=virtual></textarea></td></tr>  33 :         <tr height=5><td> </td></tr>  34 :         <tr><td align=right><input type=image src=img/regist.gif> </td></tr>  35 :      </form>  36 :     </table>  37 :     <table width=776 border=0 cellspacing=0 cellpadding=0 align=center>  38 :         <tr height=5><td colspan=2> </td></tr>  39 :         <tr height=1 bgcolor=#5AB2C8><td colspan=2></td></tr>  40 : <?  41 :    $scale = 5;   // 한 화면에 표시되는 글 수  43 :    include "../dbconn.php";  44 :  45 :    $sql = "select * from guestbook order by num desc";  46 :    $result = mysql_query($sql, $connect);

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

【예제 11-1】guestbook.php 02 67 :       $content = str_replace("\n", "<br>", $row[content]);  68 :       $day = $row[regist_day];  70 :       echo " <tr height=25><td> $row[num]    $row[name]  72 :             $day </td>  73 :           <td align=left><a href='passwd_form.php?num=$row[num]'>  74 :           삭제</a></td></tr>  75 :         <tr height=1 bgcolor=#5AB2C8><td colspan=2></td></tr>  76 :         <tr><td colspan=2> </td></tr>  77 :         <tr><td colspan=2>$content<br>  78 :           </td></tr>  79 :         <tr><td colspan=2 align=right>IP address : $row[ip]</td></tr>  80 :         <tr height=1 bgcolor=#5AB2C8><td colspan=2></td></tr> ";  82 :    }  83 : ?>  84 :         <tr><td colspan=2> </td></tr>  85 :         <tr><td colspan=2 align=center>

【예제 11-1】guestbook.php 02 86 : <? 87 : // 게시판 목록 하단에 페이지 링크 번호 출력  86 : <?  87 :    // 게시판 목록 하단에 페이지 링크 번호 출력  88 :    for ($i=1; $i<=$total_page; $i++)  89 :    {  90 :      if ($page == $i)  91 :      {  92 :       echo " <font color='4C5317'><b>[$i]</b></font>   ";  95 :      }  96 :       else  97 :        {  98 :           echo " <a href='guestbook.php?page=$i'>  100 :                <font color='4C5317'>[$i]</font></a> ";  102 :        }  103 :    }  104 : ?>

【예제 11-2】insert.php 02 방명록 글 저장 1 : <?  1 : <?  2 :    if(!$name) { echo(" <script>  5 :         window.alert('이름을 입력하세요.')  6 :         history.go(-1)  7 :       </script> ");  9 :    exit;  10 :    }·  11 :     12 :    if(!$passwd) {  13 :      echo(" <script>  15 :        window.alert('비밀번호를 입력하세요.')  16 :        history.go(-1)  17 :      </script> ");  19 :    exit;  20 :    }

【예제 11-2】insert.php 02 31 : // 현재의 '년-월-일-시-분'을 저장 31 :    // 현재의 '년-월-일-시-분'을 저장  32 :    $regist_day = date("Y-m-d (H:i)");   33 :    // 방문자의 IP 주소를 저장  34 :    $ip = $REMOTE_ADDR;          37 :    include "../dbconn.php";  38 :  39 :    $sql = "insert into guestbook(name, passwd, content, regist_day, ip) ";  40 :    $sql .= "values('$name', '$passwd', '$content', '$regist_day', '$ip')";  41 :     42 :    mysql_query($sql, $connect); 43 :  44 :    mysql_close();  45 :     46 :    Header("Location:guestbook.php");  // guestbook.php 로 이동  47 : ?>

【예제 11-3】passwd_form.php 02 비밀번호 입력 확인 19 :    <script language=javascript>  20 :     function go() {  21 :            if (document.pwform.passwd.value == "") {  22 :            alert("비밀번호를 입력해 주세요.");  23 :            return false;  24 :           }  25 :            document.pwform.submit();  26 :         }  27 :  28 :      function clean() {  29 :            document.pwform.passwd.value = "";  30 :      }  31 :    </script>

【예제 11-3】passwd_form.php 02 35 : <form name=pwform method=post  36 :          action='delete.php?num=<? echo $num ?>'>  37 :     <table cellpadding="0" cellspacing="0" border="0" width="306">  38 :         <tr height=1 bgcolor="#292E5F">  39 :           <td></td> </tr>  41 :         <tr height=18>  42 :           <td bgcolor="#CEE3F7"><img src="img/bbs_check.gif" >  43 :          <font color=003366><b>비밀번호를 입력하세요!</b></font>  44 :           </td> </tr>  46 :         <tr height=1 bgcolor="#292E5F">  47 :           <td></td> </tr>  49 :         <tr height=20 bgcolor="#f7f7f2">  50 :           <td></td> </tr> <tr>  53 :           <td valign="top" align="center">  54 :     <table cellpadding="0" cellspacing="5" border="0“ width="100%"  55 :                bgcolor="#f7f7f2">

【예제 11-3】passwd_form.php 02  56 :         <tr> <td width="80" align="right">  58 :             <font size="-1" face="돋움"> 비밀번호 </font>  59 :           </td>  60 :           <td width="170">  61 :             <input class=c1 type="password" name="passwd" size="15"  62 :                maxlength="10">  63 :           </td> </tr>  65 :         <tr> <td colspan=2 align=center>       67 :             <img src="img/button_ok.gif" align=absmiddle class=hand  68 :              onclick="go()">  69 :         <img src="img/button_rewrite.gif" align=absmiddle class=hand  70 :              onclick="clean()">  71 :             <img src="img/button_close.gif" align=absmiddle  72 :                       class=hand onclick="javascript:history.back()"> </tr>  74 :         </tr> </table>  76 :     </td>  85 : </form>

【예제 11-4】delete.php 02 방명록 글 삭제 1 : <? 2 : include "../dbconn.php";  4 :  5 :    $sql = "select passwd from guestbook where num=$num";  6 :    $result = mysql_query($sql, $connect);  7 :    $row = mysql_fetch_array($result);  8 :  9 :    if ($passwd == $row[passwd])  10 :    {  11 :       $sql = "delete from guestbook where num = $num";  12 :       mysql_query($sql, $connect);  13 :       Header("Location:guestbook.php?page=$page");  14 :    }

【예제 11-4】delete.php 02 15 : else 16 : { 17 : echo("  16 :    {  17 :       echo("  18 :            <script>  19 :              window.alert('비밀번호가 틀립니다.')  20 :              history.go(-1)  21 :            </script>  22 :           ");  23 :       exit;  24 :     }  25 :  26 :    mysql_close();  27 : ?>