index.php 마지막에 글쓰기 버튼을 추가한다.
<?php
include $_SERVER["DOCUMENT_ROOT"]."/dbcon.php";
$result = $mysqli->query("select * from board") or die("query error => ".$mysqli->error);
while($rs = $result->fetch_object()){
$rsc[]=$rs;
}
// echo "<pre>";
// print_r($rsc);
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<title>게시판 리스트</title>
</head>
<body>
<table class="table" style="width:70%;margin:auto;">
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">글쓴이</th>
<th scope="col">제목</th>
<th scope="col">등록일</th>
</tr>
</thead>
<tbody>
<?php
$i=1;
foreach($rsc as $r){
?>
<tr>
<th scope="row"><?php echo $i++;?></th>
<td><?php echo $r->userid?></td>
<td><a href="/view.php?bid=<?php echo $r->bid;?>"><?php echo $r->subject?></a></td>
<td><?php echo $r->regdate?></td>
</tr>
<?php }?>
</tbody>
</table>
<div class="col-md-4" style="float:right;padding:20px;">
<a href="write.php"><button type="button" class="btn btn-primary">등록</button><a>
</div>
</body>
</html>
등록버튼을 클릭하면 write.php 로 이동하니까 해당 파일을 만든다.
write.php
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<title>게시판 리스트</title>
</head>
<body>
<div class="col-md-8" style="margin:auto;padding:20px;">
<form method="post" action="write_ok.php">
<div class="mb-3">
<label for="exampleFormControlInput1" class="form-label">제목</label>
<input type="text" name="subject" class="form-control" id="exampleFormControlInput1" placeholder="제목을 입력하세요.">
</div>
<div class="mb-3">
<label for="exampleFormControlTextarea1" class="form-label">내용</label>
<textarea class="form-control" id="exampleFormControlTextarea1" name="content" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-primary">등록</button>
</form>
<div>
</body>
</html>
아주 심플한 글쓰기 화면이다. 지금은 userid도 없고 아무나 글을 쓸 수 있다. 원래는 userid가 없으면 글을 쓸 수 없게 해야되는데 현재는 로그인 처리를 안했으므로 그냥 아무나 쓸 수 있다. 제목과 내용만으로 글을 써보자.
위 파일을 만들고 글을 쓰고 등록 버튼을 클릭하면 write_ok.php 파일로 해당 내용을 전송한다. 이것은 약속이다.
<form> 태그가 하는 역할이다.
write_ok.php 파일을 만들어보자.
<?php
include $_SERVER["DOCUMENT_ROOT"]."/dbcon.php";
echo "<pre>";
print_r($_POST);
$subject=$_POST["subject"];
$content=$_POST["content"];
echo "<br>------<br>";
echo "제목=>".$subject."<br>";
echo "내용=>".$content;
?>
일단 이렇게 만들고 저장한다. write.php에서 넘겨준 값을 어떻게 받는지 확인해보자.
write.php 화면에서 위와 같이 입력하고 등록버튼을 클릭한다.
윗부분은 전체 값이다. $_POST에 들어있는 값을 확인한 것이고 아래는 제목과 내용을 나눠서 변수에 입력했다.
이번엔 이 값들을 디비에 입력해보겠다.
write_ok.php를 아래와 같이 수정한다.
<?php
include $_SERVER["DOCUMENT_ROOT"]."/dbcon.php";
// echo "<pre>";
// print_r($_POST);
$subject=$_POST["subject"];
$content=$_POST["content"];
$userid="hong";//userid는 없어서 임의로 넣어줬다.
$status=1;//status는 1이면 true, 0이면 false이다.
// echo "<br>------<br>";
// echo "제목=>".$subject."<br>";
// echo "내용=>".$content;
$sql="insert into board (userid,subject,content) values ('".$userid."','".$subject."','".$content."')";
$result=$mysqli->query($sql) or die($mysqli->error);
echo "결과=>".$result;
?>
값이 정상적으로 등록됐다면 아래와 같은 화면이 나온다.
이제 index.php 화면으로 이동해보자.
금방 등록한 글이 리스트에 나타난다.
write_ok.php 파일을 조금 수정해서 글을 성공적으로 작성하면 리스트 화면으로 이동하는 코드를 넣어보자.
<?php
include $_SERVER["DOCUMENT_ROOT"]."/dbcon.php";
$subject=$_POST["subject"];
$content=$_POST["content"];
$userid="hong";//userid는 없어서 임의로 넣어줬다.
$status=1;//status는 1이면 true, 0이면 false이다.
$sql="insert into board (userid,subject,content) values ('".$userid."','".$subject."','".$content."')";
$result=$mysqli->query($sql) or die($mysqli->error);
if($result){
echo "<script>location.href='/index.php';</script>";
exit;
}else{
echo "<script>alert('글등록에 실패했습니다.');history.back();</script>";
exit;
}
?>
'PHP강좌 > 게시판만들기강좌' 카테고리의 다른 글
php+mysql 게시판 만들기 강좌 #5-1. 한번더 include (2) | 2022.01.24 |
---|---|
php+mysql 게시판 만들기 강좌 #7. 회원가입 (2) | 2022.01.21 |
php+mysql 게시판 만들기 강좌 #5. include (0) | 2022.01.20 |
php+mysql 게시판 만들기 강좌 #4. 게시글 보기 (0) | 2022.01.19 |
php+mysql 게시판 만들기 강좌 #3. 게시글 리스트 출력 (0) | 2022.01.19 |