세션값을 이용, DB 정보 불러오기, 로그인 체크 기능을 위해서 다음과 같이 참조 코드를 작성해줍니다. 로그인 체크를 하는 이유는 회원가입한 회원들만이 글을 읽을 수 있게끔 권한을 부여하기 위해서입니다.
다음 코드는 현재 세션아이디와 게시글을 작성한 아이디를 비교하여 일치할 때만 수정, 삭제를 하게끔 권한을 부여하는 코드입니다. 즉 자신이 쓴 글만 수정, 삭제 가능하도록 구현한 것입니다. 이해를 돕기 위해서 다음 결과를 참고하시길 바랍니다.
2. DB에서 게시글 정보 가져오기
get방식으로 게시글의 번호를 받아 이를 만족하는 DB의 정보들을 가져오도록 구현했습니다.
★ 조회수 기능 구현위의 코드에 다음과 같이 코드를 추가해줍니다.
해당 게시글이 읽힐 때 마다 조회수를 저장하는 변수 $hit이 값을 1 증가시키고, update 문을 통해서 DB의 조회수를 저장하는 속성인 hit에 $hit의 값을 갱신시켜주는 코드입니다.
위의 실습 결과를 확인해 본 결과 입니다. 글을 읽기 전에는 조회수가 2였는데 읽은 후 3으로 증가한 것을 확인할 수 있었습니다.
이렇게 작성된 게시글을 읽을 수 있도록 기능을 구현해보고 추가로 조회수도 증가하도록 실습을 진행해봤습니다. 이번 실습은 꽤 간단했기 때문에 이해하는데 어려움이 없으실거라고 생각합니다. 혹시 잘못된 부분이나 모르는 부분이 있으시면 언제든 질문해주시길 바랍니다. 따라와주셔서 감사합니다. 여러 사용자의 요청으로 강의에서 다룬 "게시판 소스"를 공개합니다. 단, 다음에 주의해주세요. 이 소스는 교육용을 제작되었고, 버그가 있을 수 있습니다. 파일은 압축파일 형태입니다. 압축을 푸신 후 지정된 폴더 위치로, 파일을 이동시켜야 합니다. 1. /application/config/database.php 에서, hostname, username, password, database 등을 입력하셔야 합니다. [이 소스는 CodeIgniter 2.2.0 버전에서 설치되었습니다.] form 태그로 작성한 내용들을 write_action.php로 넘겨서 처리합니다. write_action.php에서는 받은 데이터를 DB에 저장합니다. 이 게시판은 그냥 기능만 되도록해서 모든 form method 을 GET으로 해놨기 때문에 POST로 바꾸시는걸 권장합니다 ~-~ write_action.php >>> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <?php $connect = mysqli_connect("localhost", "", "", "") or die("fail");
$id = $_GET[name]; //Writer $pw = $_GET[pw]; //Password $title = $_GET[title]; //Title $content = $_GET[content]; //Content $date = date('Y-m-d H:i:s'); //Date
$URL = './index.php'; //return URL
$query = "insert into board (number,title, content, date, hit, id, password) values(null,'$title', '$content', '$date',0, '$id', '$pw')";
$result = $connect->query($query); if($result){ ?> <script> alert("<?php echo "글이 등록되었습니다."?>"); location.replace("<?php echo $URL?>"); </script> <?php } else{ echo "FAIL"; }
mysqli_close($connect); ?>
Colored by Color Scripter cs모두 GET방식으로 전달하였고, DB에 number, title, content, date, hit, id, password를 insert합니다. 숫자는 자동으로 올라가기 때문에 null 값을 삽입하면 됩니다. |