반응형

 

 

지금 아무 작업없이 글쓰기 페이지로 들어가보자.

 

http://localhost/write.php

 

이렇게 들어가면 페이지가 열린다. 그러니 이렇게 들어가도 로그인을 안한 사용자라면 들어오지 못하도록 수정해보자.

 

write.php

<?php
include $_SERVER["DOCUMENT_ROOT"]."/inc/header.php";//header.php 파일안에 session_start()가 있음
if(!$_SESSION['UID']){
    echo "<script>alert('회원 전용 게시판입니다.');history.back();</script>";
    exit;
}
?>
        <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>
<?php
include $_SERVER["DOCUMENT_ROOT"]."/inc/footer.php";
?>

 

이렇게 바꿔준다. 세션값이 있는지 확인해보고 없으면 돌려보내는 방식이다.

 

이제 로그인을 하고 다시 들어가보자. 이번엔 문제없이 접속될 것이다.

 

이번엔 wirte_ok.php도 좀 수정해보자.

<?php session_start();
include $_SERVER["DOCUMENT_ROOT"]."/inc/dbcon.php";//dbcon.php 안에는 session_start()가 없기때문에 위에 따로 선언해준다.
if(!$_SESSION['UID']){
    echo "<script>alert('회원 전용 게시판입니다.');location.href='/index.php';</script>";
    exit;
}

$subject=$_POST["subject"];
$content=$_POST["content"];
$userid=$_SESSION['UID'];//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;
}
?>

 

한번더 로그인한 회원인지 확인해본다. 그리고 세션에 들어있는 아이디값을 이용해서 아이디를 넣어준다.

 

쉽다.

반응형

+ Recent posts