반응형
이번에는 글 작성 기능을 만들어보자!
우선 제목과 내용을 적고 제출할 수 있는 form 하나를 만들자.
<form action = "board_create.php" method = "post">
<p><input name = "create_title" type = "text" placeholder = "title"/></p>
<p><textarea name = "create_body" placeholder = "body"></textarea></p>
<p><input type = "submit" value = "create"></p>
</form>
input text과 textarea로 값을 받아서 board_create.php로 전달한다.
기존에 만든 게시판 데이터를 관리하는 board 테이블은 내용을 넣을 컬럼이 없으니 content 컬럼을 추가해주자.
ALTER table `board` ADD `content` varchar(10000) NOT NULL;
update board set content = 'hello' where username = 'normaltic';
ALTER로 컬럼을 추가해준 후, update 방식으로 content를 추가해준다.
이제 제목과 내용을 title과 content에 추가해야 하는데, 그 외에 username은 현재 로그인되어 있는 사용자의 이름으로, 날짜와 시간은 현재 시간으로 넣도록 기능을 추가해주어야 하므로 우선 사용자는 'test', 날짜와 시간은 2021-00-00, 00:00으로 삽입해주자.
<?php
if(isset($_POST['create_title']) && isset($_POST['create_body']) && isset($_POST['create_title']) != NULL && isset($_POST['create_body']) != NULL){
$title = $_POST['create_title'];
$content = $_POST['create_body'];
$username = 'test';
$date = '2021-00-00';
$time = '00:00';
$conn = mysqli_connect('localhost', 'ID', 'PW', 'DBname');
$sql = "INSERT INTO board (username, title, date, time, content) VALUES ('$username', '$title', '$date', '$time', '$content');";
if($result = mysqli_query($conn, $sql)){
echo "<script>alert('글 작성에 성공하셨습니다!')</script>";
echo "<script>window.location.href='board.php';</script>";
}
mysqli_close($conn);
}
?>
잘 되는지 테스트를 하기 위해 내용을 입력한 후 create를 누르면, 성공 메시지가 뜨고 자동으로 게시판 화면으로 돌아가는데, 행이 잘 추가되어있는 것을 볼 수 있다.
DB에도 잘 저장되어있는 것을 볼 수 있다.
이제 CSS로 글 작성화면답게 꾸미고, 앞서 언급한 사용자 이름과 날짜를 넣는 기능을 추가해주면 완성이다!
반응형
'WEB HACKING > 웹 해킹[실습]' 카테고리의 다른 글
Php로 웹 개발하기 : 게시판(5) - Read (0) | 2021.11.17 |
---|---|
Python 자동화 코드 구현하기 : Blind SQL Injection (1) | 2021.11.16 |
Php로 웹 개발하기 : 게시판(3) - Option Search (1) | 2021.11.10 |
Php로 웹 개발하기 : 게시판(2) - Search (0) | 2021.11.09 |
Burp Suite 설치 및 사용법(Ubuntu) (0) | 2021.11.06 |
댓글