게시판 페이지
사이트 왼쪽에 카테고리에서 선택한 게시판이 열리게된다.
게시글은 한 페이지에 5개씩 출력되고 여러 페이지로 나뉜다.
처음 이전 다음 마지막 버튼과 페이지 번호들로 페이지 이동이 가능하다.
검색창으로 제목, 작성자, 내용으로 검색하여 게시판을 검색할 수 있다.
게시판 코드는 너무 길어서 생략합니다.
글쓰기
게시판 페이지에서 글쓰기 버튼을 누르면 글쓰기 페이지로 이동한다.
제목과 내용을 입력하고 글 작성 버튼을 누르면 글이 작성된다.
파일을 업로드 가능하다.
<write.php> - 글작성 ui
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>게시판</title>
</head>
<body>
<?$board_id=$_GET['board_id'];?>
<div id="board_write">
<h4>글을 작성하는 공간입니다.</h4>
<div id="write_area">
<form enctype="multipart/form-data" action="write_ok.php?board_id=<?echo $board_id;?>" method="post">
<div id="in_title">
<textarea name="title" id="utitle" rows="1" cols="55" placeholder="제목" maxlength="100" required></textarea>
</div>
<div class="wi_line"></div>
<div id="in_content">
<textarea name="content" id="ucontent" placeholder="내용" required></textarea>
</div>
<input type="file" name="SelectFile" />
<div class="bt_se">
<button type="submit">글 작성</button>
</div>
</form>
</div>
</div>
</body>
</html>
|
cs |
<write_ok.php> - 오류를 확인하고 데이터베이스에 글을 작성하는 부분
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
<?php
include ('db_connect.php');
$username = $_SESSION['userid'];
$usernic = $_SESSION['user_nic'];
$board_id = $_GET['board_id'];
$title = $_POST['title'];
$content = $_POST['content'];
$date = date('Y-m-d');
$upload_dir = 'uploads/';
$upload_file = $upload_dir . $_FILES['SelectFile']['name'];
$file_name = iconv("utf-8","CP949",$upload_file);
echo "<script>
alert('$tmpfile');
</script>";
print "<pre>";
if (move_uploaded_file($_FILES['SelectFile']['tmp_name'], $file_name)) {
print "[수신한 내용]<br><br>";
print "PATH: " .$upload_file."<br>";
print "제목 : ".$_POST['title']."<br>";
print "내용 : ".$_POST['content']."<br>";
print "파일 :".$_FILES['SelectFile']['type']."<br>";
if($_FILES['SelectFile']['type']=="image/jpeg"||$_FILES['SelectFile']['type']=="image/gif"){
print "<img src=$upload_file width='300'>";
}
}
else {
print "파일 업로드 실패 : ";
switch ($_FILES[SelectFile][error]) {
case UPLOAD_ERR_INI_SIZE:
print "php.ini 파일의 upload_max_filesize(".ini_get("upload_max_filesize").")보다 큽니다.<br>";
break;
case UPLOAD_ERR_FORM_SIZE:
print "업로드 한 파일이 Form의 MAX_FILE_SIZE 값보다 큽니다.<br>";
break;
case UPLOAD_ERR_PARTIAL:
print "파일의 일부분만 전송되었습니다.<br>";
break;
case UPLOAD_ERR_NO_FILE:
print "파일이 전송되지 않았습니다.<br>";
break;
case UPLOAD_ERR_NO_TMP_DIR:
print "임시 디렉토리가 없습니다.<br>";
break;
}
print_r($_FILES);
}
print "</pre>";
if($username && $title && $content){
$sql = mq("insert into ".$board_id."(id,name,title,content,date,file) values('".$username."','".$usernic."','".$title."','".$content."','".$date."','".$_FILES['SelectFile']['name']."');");
echo "<script>
alert('글쓰기 완료되었습니다.');
location.href='board.php?board_id=$board_id';</script>";
}
else{
echo "<script>
alert('글쓰기에 실패했습니다.');
history.back();</script>";
}
?>
|
cs |
글읽기
게시판 페이지에서 게시글을 누르면 데이터베이스에서 그 게시글을 읽어와 출력한다.
글을 읽어 올 때 댓글도 같이 읽어 온다.
<read.php> - 게시글과 댓글을 읽어오는 부분
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
<?php
include ('db_connect.php');
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판</title>
</head>
<body>
<?php
$board_id = $_GET['board_id'];
$bno = $_GET['idx']; /* bno함수에 idx값을 받아와 넣음*/
$hit = mysqli_fetch_array(mq("select * from ".$board_id." where idx ='".$bno."'"));
$hit = $hit['hit'] + 1;
$fet = mq("update ".$board_id." set hit = '".$hit."' where idx = '".$bno."'");
$sql = mq("select * from ".$board_id." where idx='".$bno."'"); /* 받아온 idx값을 선택 */
$board = $sql->fetch_array();
?>
<!-- 글 불러오기 -->
<div id="board_read">
<h2><?php echo $board['title']; ?></h2>
<div id="user_info" align=right>
<?php echo $board['name']; ?> <?php echo $board['date']; ?> 조회:<?php echo $board['hit']; ?>
<div id="bo_line"></div>
</div>
<div>
파일 : <a href="uploads/<?php echo $board['file'];?>" download><?php echo $board['file']; ?></a>
</div>
<div id="bo_content">
<?php echo nl2br("$board[content]"); ?>
</div>
<!-- 목록, 수정, 삭제 -->
<div id="bo_ser">
<ul>
<li><a href="board.php?board_id=<?echo $board_id;?>">[목록으로]</a></li>
<?if ($board['name']==$_SESSION['userid']){?>
<li><a href="modify.php?idx=<?php echo $board['idx']; ?>">[수정]</a></li>
<li><a href="delete.php?idx=<?php echo $board['idx']; ?>">[삭제]</a></li>
<?}?>
</ul>
</div>
</div>
<!--- 댓글 불러오기 -->
<div class="reply_view">
<h3>댓글목록</h3>
<?php
$sql3 = mq("select * from ".$board_id."_reply where con_num='".$bno."' order by idx desc");
while($reply = $sql3->fetch_array()){
?>
<div class="dap_lo">
<div><b><?php echo $reply['name'];?></b></div>
<div class="dap_to comt_edit"><?php echo nl2br("$reply[content]"); ?></div>
<div class="rep_me dap_to"><?php echo $reply['date']; ?></div>
</div>
<?php } ?>
<!--- 댓글 입력 폼 -->
<div class="dap_ins">
<form action="reply_ok.php?board_id=<?echo $board_id;?>&idx=<?php echo $bno; ?>" method="post">
<input type="hidden" name="dat_user" id="dat_user" class="dat_user" size="15" placeholder="아이디" value=<?$_SESSION['userid']?>>
<div style="margin-top:10px; ">
<textarea name="content" class="reply_content" id="re_content" ></textarea>
<button id="rep_bt" class="re_bt">댓글</button>
</div>
</form>
</div>
</div><!--- 댓글 불러오기 끝 -->
<div id="foot_box"></div>
</div>
</body>
</html>
|
cs |
<reply_ok.php> 댓글을 작성하는 부분
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
include ('db_connect.php');
$board_id = $_GET['board_id'];
$bno = $_GET['idx'];
$username = $_SESSION['userid'];
$date = date("Y-m-d H:i:s");
if($bno && $username && $_POST['content']){
$sql = mq("insert into ".$board_id."_reply (con_num,id,name,content,date) values ('".$bno."','".$username."','".$username."','".$_POST['content']."','".$date."');");
echo "<script>alert('댓글이 작성되었습니다.');
location.href='read.php?board_id=$board_id&idx=$bno;';</script>";
}else{
echo "<script>alert('댓글 작성에 실패했습니다.');
history.back();</script>";
}
?>
|
cs |
'프로젝트 > 게시판 사이트' 카테고리의 다른 글
[html, php] 게시판사이트 만들기 3.로그인/회원가입 (0) | 2021.03.01 |
---|---|
[html, php] 게시판사이트 만들기 2. 메인페이지 (0) | 2021.03.01 |
[html, php] 게시판사이트 만들기 1.프로그램 개요 (11) | 2021.03.01 |
댓글