1. 게시판 글쓰기 (write.php) - C
이번 게시판의 경우 CRUD가 가능하도록 설계하려고 합니다.
CRUD - 기본적인 데이터 처리기 기능 Create(생성), Read(읽기), Update(갱신), Delete(삭제)의 첫 문자를 따서 부르는 말로 사용자 인터페이스가 가져야 하는 최소한의 기능이라고 생각하면 됩니다.
코드를 보시면, 작성자의 이름의 경우 사용자의 ID로 출력될 수 있도록 로그인시 확인된 세션 값을 기입하였습니다.
PW의 경우 로그인된 상태로 작성하기 때문에 따로 필요가 없습니다.(UI에서도 작성자/제목/내용만 출력됩니다.)
그리고, password 컬럼와 관련 에러가 출력된다면, DB에서 password 부분을 NULL값 허용으로 변경해주시면 됩니다.
2. 게시판 글쓰기(write.php)
<?php
include "./config.php";
include "./db/db_con.php";
include "./login_check.php";
?>
<!DOCTYPE html>
<html>
<body>
<nav class="navbar navbar-default">
<?php include_once "./fragments/header.php";?>
</nav>
<div class="container">
<div id="board_write">
<form action="write_ok.php" method="post">
<table class="table table-striped" style="text-align: center; border: 1px solid #ddddda">
<thead>
<tr>
<th colspan="2" style="background-color: #eeeeee; text-align: center;"><h3>게시판 글쓰기</h3></th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="pull-left"> 아이디 : <b><?=$userid?></b></span></td>
</tr>
<tr>
<td><input type="text" class="form-control" placeholder="제목" name="title" id="utitle" required></td>
</tr>
<tr>
<td><input type="password" class="form-control" placeholder="비밀번호" name="pw" id="upw" style="width: 150px;"></td>
</tr>
<tr>
<td><textarea class="form-control" placeholder="내용을 입력해주세요." name="content" id="ucontent" style="height: 350px" required></textarea></td>
</tr>
</tbody>
</table>
<center>
<input type="checkbox" value="1" name="lockpost">비밀글<br><br>
<button type="submit" class="btn btn-primary">글쓰기</button>
</center>
</form>
</div>
</div>
<script src="./js/login.js"></script>
</body>
</html>
3. write_ok.php
DB에 해당글을 저장하는 페이지입니다.
- lo_post를 사용하여 비밀글 유무를 확인해 줍니다.
- auto_increment 사용하여 번호를 초기화 해줍니다. 글을 자주 지우고 쓰다보니 번호가 밀리는 것을 방지하기 위해서 입니다.
<?php
include "./config.php";
include "./db/db_con.php";
$name = $userid;
$date = date('Y-m-d');
$userpw =$_POST['pw'];
$title = $_POST['title'];
$content = $_POST['content'];
/* lo_post 값이 1이면 잠금 0이면 공개로 비밀글을 작성하기 위한 코드 입니다. */
if(isset($_POST['lockpost'])){
$lo_post = '1';
}else{
$lo_post = '0';
}
mq("alter table board auto_increment =1");
mq("INSERT
board
SET
name = '".$name."',
pw = '".$userpw."',
title = '".$title."',
content = '".$content."',
date ='".$date."',
lock_post = '".$lo_post."'
");
?>
<script>
alert("글쓰기 완료");
location.href = 'list.php';
</script>
'소소한 IT이야기 > PHP_개발' 카테고리의 다른 글
[M2 MAMP] PHP 게시판 구축 - 04 (feat. 읽기(R)) (0) | 2023.08.12 |
---|---|
[M2 MAMP] PHP 게시판 구축 - 02 (feat. 로그인페이지) (0) | 2023.01.24 |
[M2 MAMP] PHP 게시판 구축 -01 (feat. DB구조) (1) | 2023.01.24 |