본문 바로가기
Project/APM웹서버

게시판 만들기 ( 글작성/insert into )

by Albin 2021. 11. 10.

일단 이전 글에서 DB 설정한 중 글 작성 시점의 시간을 디폴드 값으로 저장하려고 date컬럼의 디폴트 값을 현재시간으로 입력되도록 변경하였다.

TimeStamp 컬럼 디폴트 값 변경 방법

디폴트 값을 현재시간으로 지정

ALTER TABLE tableName MODIFY columnName TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

변경이 일어날 때마다 값을 현재시간으로 지정

ALTER TABLE tableName MODIFY columnName TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

 

 

 

글 작성한 것을 DB에 insert 할 수 있는 Write.php 와 Write_a.php 페이지를 추가하였다.

Write.php

<!DOCTYPE>
 
<html>
<head>
        <meta charset = 'utf-8'>
</head>
<style>
        table.table2{
                border-collapse: separate;
                border-spacing: 1px;
                text-align: left;
                line-height: 1.5;
                border-top: 1px solid #ccc;
                margin : 20px 10px;
        }
        table.table2 tr {
                 width: 50px;
                 padding: 10px;
                font-weight: bold;
                vertical-align: top;
                border-bottom: 1px solid #ccc;
        }
        table.table2 td {
                 width: 100px;
                 padding: 10px;
                 vertical-align: top;
                 border-bottom: 1px solid #ccc;
        }
 
</style>
<body>
        <form method = "post" action = "Write_a.php">
        <table  style="padding-top:50px" align = center width=900 border=0 cellpadding=2 >
                <tr>
                <td height=20 align= center bgcolor=#ccc><font color=white> 글쓰기</font></td>
                </tr>
                <tr>
                <td bgcolor=white>
                <table class = "table2">
                        <tr>
                        <td>작성자</td>
                        <td><input type = text name = name size=20> </td>
                        </tr>
 
                        <tr>
                        <td>제목</td>
                        <td><input type = text name = title size=60></td>
                        </tr>
 
                        <tr>
                        <td>내용</td>
                        <td><textarea name = content cols=85 rows=15></textarea></td>
                        </tr>
 
                        <tr>
                        <td>비밀번호</td>
                        <td><input type = password name = pw size=10 maxlength=10></td>
                        </tr>
                        </table>
 
                        <center>
                        <input type = "submit" value="작성">
                        </center>
                </td>
                </tr>
        </table>
        </form>
</body>
</html>

 

Write_a.php

<?php
                $mysqli = mysqli_connect("127.0.0.1","admin0","0000","normaltic1","3306") or die("fail");

                if ($mysqli->connect_errno) {
                        die('Connect Error: '.$mysqli->connect_error);
                }


                $id = $_POST[name];                      //Writer
                $pw = $_POST[pw];                        //Password
                $title = $_POST[title];                  //Title
                $content = $_POST[content];              //Content

                $URL = './Board.php';                   //return URL

                $query = "insert into boardList (title, content, id, pw) values ('$title', '$content', '$id', '$pw')";
                $result = $mysqli->query($query);
                if($result){
                ?>                  <script>
                        alert("<?php echo "글이 등록되었습니다."?>");
                        location.replace("<?php echo $URL?>");
                </script>
                <?php
        }else{
                echo "FAIL";
                echo '<br>';
                echo $_POST[name];
                echo '<br>';
                echo $_POST[title];
        }

        mysqli_close($connect);
?>

 

이전 글들에서는 같은 페이지 안에서 DB를 연동을 처리했는데 이번에는 분리해서 작동하는 페이지로 만들었다.

DB 연동 관련 기능을 하는 Write_a.php 파일을 php코드에서 include 하여 사용하는 게 아니고 form 태그에서 input타입을 통해 파라미터를 넘겨 작동할 수 있다는 것을 알게 되었다.

 

<input type=“submit”>

<input type=“submit”>은 서버의 폼 핸들러(form handler)로 폼 데이터(form date)를 전송하는 제출 버튼(submit button)을 정의합니다.

 

 

insert 테스트 사진

 

 

참조

https://hayjo.tistory.com/48

 

[MySQL] ALTER TABLE table ... TIMESTAMP

기존에 DATETIME으로만 지정했던 컬럼에 기본값을 넣어줄 필요가 생겼다. INSERT INTO 당시의 시간을 기본값으로 하려면 아래와 같이 하면 된다. ALTER TABLE tableName MODIFY columnName TIMESTAMP DEFAULT CURR..

hayjo.tistory.com

http://tcpschool.com/html-input-types/submit

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com