4. PHP 게시판 만들기, write 제작 1

2015. 3. 31. 23:43
저자 : Kurien

주의: 본 게시판은 보안을 생각하지 않고 만들어졌으므로 실제로 사용되어서는 안되는 코드입니다.

공부할 때 게시판이 이처럼 동작한다는 정도로만 이해해주세요.


오늘도 게시판 제작을 해보겠습니다.

오늘은 글을 쓰는 부분인 write를 제작해보겠습니다.


글을 "쓰기만" 하는 write 부분은 프로그램이 거의 없으니 단순 구조만 제작했습니다.

물론 같은 폼을 이용해서 글을 수정하게 된다면 조금 더 복잡해지지만, 그 부분은 게시글 등록, 삭제가 끝난 다음 하도록 하겠습니다.


그럼 오늘도 먼저 이 파일을 받아주세요!


20150331_project.zip


전 포스팅에서 만들었던 index.php와는 조금 다른 점이 눈에 보이실텐데요.

글 쓰기 버튼을 제외하면 단순히 CSS 부분을 위한 것이므로 크게 신경은 쓰지 않으셔도 됩니다.


그럼 바로 write.php 폼을 보죠.


<?php

require_once("../dbconfig.php");

?>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>자유게시판 글쓰기 | Kurien's Library</title>

<link rel="stylesheet" href="./css/normalize.css" />

<link rel="stylesheet" href="./css/board.css" />

</head>

<body>

<article class="boardArticle">

<h3>자유게시판 글쓰기</h3>

<div id="boardWrite">

<form action="./write_update.php" method="post">

<table id="boardWrite">

<caption class="readHide">자유게시판 글쓰기</caption>

<tbody>

<tr>

<th scope="row"><label for="bID">아이디</label></th>

<td class="id"><input type="text" name="bID" id="bID"></td>

</tr>

<tr>

<th scope="row"><label for="bPassword">비밀번호</label></th>

<td class="password"><input type="text" name="bPassword" id="bPassword"></td>

</tr>

<tr>

<th scope="row"><label for="bTitle">제목</label></th>

<td class="title"><input type="text" name="bTitle" id="bTitle"></td>

</tr>

<tr>

<th scope="row"><label for="bContent">내용</label></th>

<td class="content"><textarea name="bContent" id="bContent"></textarea></td>

</tr>

</tbody>

</table>

<div class="btnSet">

<button type="submit" class="btnSubmit btn">작성</button>

<a href="./board/index.php" class="btnList btn">목록</a>

</div>

</form>

</div>

</article>

</body>

</html>


말씀 드린대로 form을 이용한 단순 html 폼입니다.

.boardArticle 까지는 index.php 파일과 거의 같고 그 아래의 #boardWrite부터가 작성된 부분입니다.



<form> 태그를 통해 데이터를 처리하는 파일로 내용을 전송하는 부분입니다.


각각의 <tr> 태그에는 <th>와 <td> 태그가 하나씩 들어있는데요.

<th>는 위의 이미지에서 아이디, 비밀번호, 제목, 내용을 뜻하고,

<label> 태그의 for 속성으로 input 태그의 id 값을 지정하면 label을 눌렀을 때 해당 input 태그에 포커스를 줍니다.


<input> 태그나 <textarea>와 같은 입력 양식 태그는 대부분 아실테니 넘어가고,,,

마지막으로 btnSet이라는 div를 만들고 그 안에 작성과 목록 버튼을 만들었습니다.


아직은 CSS를 적용하지 않아서 기본적인 상태로만 나오구요.

다음 포스팅에서는 글을 올리는 부분인 write_update.php를 만들어보겠습니다.


어려운 부분(은 없겠지만...)이 있다면 댓글 남겨주시구요,

현재 진행 상태는 http://kurien.dothome.co.kr에서 보실 수 있습니다!

  1. jaenna 2015.04.02 10:49  댓글주소  수정/삭제  댓글쓰기

    잘 이해되요!!좋은 컨텐츠 감사합니다 ㅎ.ㅎ
    다음강의는 언제올라오나요 ??

  2. jaenna 2015.04.02 14:03  댓글주소  수정/삭제  댓글쓰기

    저 질문이 있는데요, 게시판 목록에서 삭제나 수정을 하고싶을땐 다른방법으로 목록을 불러내야하는데
    어떻게 해야할까요 ㅠㅠ 여기서 계속 막혀서요..

    • Kurien 2015.04.02 14:05 신고  댓글주소  수정/삭제

      게시판 리스트에서 삭제를 말하시는거라면, checkbox태그의 value를 글의 id값으로 해서 선택 삭제, 제거 하는 방법이 있습니다.

  3. jaenna 2015.04.02 17:00  댓글주소  수정/삭제  댓글쓰기

    귀찮게 해드려서 죄송해요 ㅠ
    <input type="checkbox" value=<?php $row['id'] ?> > 이런식으로 넣어도 되나요?

  4. 튼튼 2015.10.18 12:20  댓글주소  수정/삭제  댓글쓰기

    감사합니다!

  5. 이승희 2016.07.16 04:45  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 반가워요

  6. 성은범 2016.10.06 12:25  댓글주소  수정/삭제  댓글쓰기

    너무 잘올려주셔서 소름 제대로 돋았습니다. 덕분에 php 이해가 너무 잘됩니다

  7. whee 2016.10.11 16:01  댓글주소  수정/삭제  댓글쓰기

    너무 쉽게 이해되도록 올려주셔서 감사합니다~ 정말 잘보고 있습니다~!!

  8. 호랑이 2018.04.28 16:52  댓글주소  수정/삭제  댓글쓰기

    모두 반갑습니다

    날씨가 좋아요

  9. 한지민 2019.05.13 15:00  댓글주소  수정/삭제  댓글쓰기

    날씨가 좋아요

  10. 라시나 2022.04.28 00:11  댓글주소  수정/삭제  댓글쓰기

    자애로운 ♪두형이 스파이더맨 벽지까지 맞춰주고 가셨네
    구토들아 구톡방 돌리지마라 ㅋㅋ
    날두 신경 쓸 시간에 느그들 주인님이나 걱정해라 ㅋ
    오늘 인터뷰했는데(당사펌) 이랬음
    2. 윌리안, 2013 (£31.5m)



    이들 중 가장 비싼 영입이다. 2013년 1월에 영입된 [ http://xooxma.com ] 윌리안은 안지에서 11경기 출장에 그쳤고, 그 해 여름 £30m에 첼시로 이적했다.



    3. 사무엘 에투, 2011 (£24.3m)



    가장 비싼 건 아니지만, 확실히 이들 중 가장 미친 딜이다. 에투는 안지에서 세후 연봉 [ http://xooxa.xyz ] €20m을 받으며 세계 축구에서 가장 높은 소득을 자랑하는 선수가 되었다. 그는 73경기에서 26골을 넣었다.



    4. 알렉산드르 코코린, 2013 (£17.1m)



    2013년 여름에 영입한 높은 평가를 받았던 이 러시아 [ http://xooxb.xyz ] 공격수는 안지에서 총 0경기에 출전했고 약 한 달 후 예산 삭감으로 인해 디나모 모스크바로 팔려나갔다. 그는 현재 ACF 피오렌티나에서 뛰고 있다.



    2011년부터 2013년까지 안지 마하치칼라의 미친 돈♩~♩을 기억하며 - 4.ren.jpg [기브미스포츠] 2011년부터 2013년까지 안지 마하치칼라의 미친 돈♩~♩을 기억하며

  11. 에드워즈 2022.05.10 11:28  댓글주소  수정/삭제  댓글쓰기

    전 첼시 레프트백은 현재 첼시 아카데미와 잉글랜드 U21팀 코치로 활동 중이다.



    램파드는 그를 구디슨 파크로 데려오기 위해 [ http://xooxc.xyz] 논의했으며, 향후 며칠 안에 결정이 내려질 것으로 예상된다.



    콜은 조 에드워즈(어시스턴트 매니저), 폴 클레먼트(코치) 및 크리스 존스(코치)와 함께 램파드의 팀에 합류하고 이미 클럽에 있었던 던컨 퍼거슨(코치) 및 앨런 켈리(골키퍼 코치)와 함께할 것이다.



    6. 이고르 데니소프, 2013 (£13.5m)



    데니소프는 안지에서 겨우 3경기만 뛰었다. 이후 구단이 자금을 절약하기 [ http://xooxd.xyz ] 위해 그는 코코린과 함께 2013년 8월 디나모 모스크바로 보내졌다. 지난 2019년 5월에 그는 축구를 은퇴했다.



    분데스리가

    조지 벨로(20): 애틀랜타 유나이티드에서 아르미니아 빌레펠트(수비수, 2026년까지 계약)

    스벤 미셸(31): SC 파더보른에서 우니온 베를린으로 (공격수, 2024년까지 계약)

    토비아스 라슐(21): 보루시아 도르트문트에서 [ http://xooxe.xyz ] SpVgg 그로이터 퓌르트로(미드필더, 2024년까지 계약)

    브라이트 아크워 아레이 음비(18)는 바이에른 뮌헨에서 FC 쾰른으로 (수비수, 2023년 여름까지 임대)

    켈리안 은소나(19): SM 캉에서 헤르타 BSC로 (공격수, 2026년까지 계약)

    요나스 빈트(22): FC 코펜하겐에서 VfL 볼프스부르크로 (공격수, 2026년까지 계약)

  12. 에드워즈 2022.05.10 18:09  댓글주소  수정/삭제  댓글쓰기

    전 첼시 레프트백은 현재 첼시 아카데미와 잉글랜드 U21팀 코치로 활동 중이다.



    램파드는 그를 구디슨 파크로 데려오기 위해 [ http://xooxc.xyz] 논의했으며, 향후 며칠 안에 결정이 내려질 것으로 예상된다.



    콜은 조 에드워즈(어시스턴트 매니저), 폴 클레먼트(코치) 및 크리스 존스(코치)와 함께 램파드의 팀에 합류하고 이미 클럽에 있었던 던컨 퍼거슨(코치) 및 앨런 켈리(골키퍼 코치)와 함께할 것이다.



    6. 이고르 데니소프, 2013 (£13.5m)



    데니소프는 안지에서 겨우 3경기만 뛰었다. 이후 구단이 자금을 절약하기 [ http://xooxd.xyz ] 위해 그는 코코린과 함께 2013년 8월 디나모 모스크바로 보내졌다. 지난 2019년 5월에 그는 축구를 은퇴했다.



    분데스리가

    조지 벨로(20): 애틀랜타 유나이티드에서 아르미니아 빌레펠트(수비수, 2026년까지 계약)

    스벤 미셸(31): SC 파더보른에서 우니온 베를린으로 (공격수, 2024년까지 계약)

    토비아스 라슐(21): 보루시아 도르트문트에서 [ http://xooxe.xyz ] SpVgg 그로이터 퓌르트로(미드필더, 2024년까지 계약)

    브라이트 아크워 아레이 음비(18)는 바이에른 뮌헨에서 FC 쾰른으로 (수비수, 2023년 여름까지 임대)

    켈리안 은소나(19): SM 캉에서 헤르타 BSC로 (공격수, 2026년까지 계약)

    요나스 빈트(22): FC 코펜하겐에서 VfL 볼프스부르크로 (공격수, 2026년까지 계약)

  13. 분데스 2022.05.14 21:18  댓글주소  수정/삭제  댓글쓰기

    분데스리가 2부

    알루 쿠올(20): VfB 슈투트가르트 II에서 SV 산트하우젠으로 (공격수, 여름까지 임대)

    모리스 드빌(29): FC 자르브뤼켄에서 SV [ http://xooxf.xyz ] 산트하우젠으로 (공격수, 2022년 여름까지 계약)

    톰 트리불 (28): 하노버 96에서 SV 산트하우젠으로 (미드필더, 계약 기간 미상)

    에리히 베르코(27): 다름슈타트 98에서 SV 산트하우젠으로 (공격수, 계약 기간 미상)

    케말 아데미(26): FK 침키에서 SC 파더보른 07 ([ http://xooxg.xyz ] 공격수, 2022년 여름까지 계약)

    아드리안 파인(22): 바이에른 뮌헨에서 디나모 드레스덴으로 (미드필더, 여름까지 임대)

    마리우스 리제강(22): . FSV 마인츠 05 II에서 다이나모 드레스덴으로 (골키퍼, 2022년 여름까지 계약)

    다니엘로 시칸(20): 샤흐타르 도네츠크에서 한자 로스토크로 (공격수, 여름까지 임대)

    벤자민 골러(23): 베르더 브레멘에서 칼스루에 SC로 (공격수, 여름까지 임대)

    이동경(24) : 울산 현대에서 샬케 04로 (미드필더, [ http://xooxma.com ] 여름까지 임대)

    니클라스 시프노스키(24) : 포르투나 뒤셀도르프에서 얀 레겐스부르크로 (공격수, 2023년 여름


    까지 임대)

  14. 세바스 2022.05.23 01:35  댓글주소  수정/삭제  댓글쓰기

    3부리그

    세바스티안 뵈셀 (27): 1. FC 자르브뤼켄에서 [ http://xooxa.xyz ] 할리스체스 FC로 (수비수, 2022년 여름까지 계약)

    필리프 줄레흐네어(31) : 클럽이 없다가 할레슈 FC로 (공격수, 2022년 여름까지 계약)

    잘렌 호킨스 (21): FC 잉골슈타트에서 FC 자르브뤼켄로 (미드필더, 여름까지 임대)

    야밀 지베르트(19): 포르투나 뒤셀도르프에서 빅토리아 [ http://xooxb.xyz ] 쾰른으로 (수비수, 여름까지 임대)

    마이크 파이겐스판(26): 헤센 카셀에서 SV 메펜으로 (공격수, 옵션과 함께 2022년 여름까지 계약)

    케빈 라우후트 (32): SGV 프라이베르크 풋볼에서 빅토리아 쾰른으로 (공격수, 계약 기간 미상)

    앤서니 시어(26) : 클럽이 없다가 FSV 즈비카우로 (미드필더, 2022년 여름까지 계약)


    도미니크 코더(21) : 카를스루에 SC에서 발트호프 [ http://xooxc.xyz ] 만하임으로 (공격수, 여름까지 임대)