비회원이 문의할 수 있도록 문의게시판을 만들어보았다.
해야할 것은 다음과 같다.
1. 비회원이 문의게시판에 접속할 수 있도록 할 것.
2. 비회원이 문의를 작성할 수 있을것.
3. 비회원의 문의를 타인이 볼 수 없도록 할 것
4. 해당 정보를 저장할 DB 구성
위 사항들을 숙지하며 문의 게시판을 제작해야한다.
우선 DB를 생성해줘야하는데 이는 이전에 작성한 DB에 대한 포스트를 참고하기를 바란다.

우선 비회원이 문의를 하기 위해서는 로그인 페이지에서 문의할 수 있도록 제작해야한다.
기본 로그인 코드에 페이지 링크와 버튼을 추가하면 쉽게 구성할 수 있다.

다음과 같은 페이지를 구성해준다. 이 때 상단의 문의하기를 클릭하면 문의 작성 페이지로 이동한다.
<?php
$sql = "SELECT * FROM qna_post ORDER BY id";
$connect_statment = $connect->prepare($sql);
$connect_statment->execute();
while($row = $connect_statment->fetch(PDO::FETCH_ASSOC))
{
echo '<tr>';
echo '<td>'.$row['id'].'</td>';
echo '<td><a href="qna_view.php?id='.$row['id'].'" >'.$row['title'].'</td>';
echo '</tr>';
}
?>
<div class="row">
<button type="button" class="btn btn-dark" onclick="location.href='qna.php'">문의하기</button>
</div>
</body>
간략하게 코드를 구성하면 위와 같이 구성할 수 있다.

문의를 작성하려면 제목과 문의 내용 그리고 비밀번호를 입력해줘야한다.
작성이 완료되면 사전에 구성해놓았던 DB에 저장된다.
이전 페이지로 돌아가서 제출한 문의를 확인해보자.

테스트 문의1 을 클릭해보면 다음과 같이 비밀번호를 입력하도록 구성했다.
이때 자바스크립트의 prompt같은 함수를 이용해서 값을 받아올 수 있지만
값을 받아올때 이상이 생겨 페이지로 구성했다.

문의에 정상적으로 접속하면 다음과 같이 문의 내용이 출력된다.
<form action=" <?=$_SERVER[ "REQUEST_URI" ]?>" method='post'>
<input type="password" name="password">
<button type="submit" class="btn btn-dark">submit</button>
</form>
<?php
if(empty($_POST)) $password = "";
else $password = $_POST['password'];
if(empty($_GET['id']) === false && !empty($_POST))
{
$id = $_GET['id'];
$sql = "SELECT * FROM qna_post where id = $id";
$connect_statment = $connect->prepare($sql);
$connect_statment->execute();
$row = $connect_statment->fetch(PDO::FETCH_ASSOC);
if($row['password'] == $password)
{
echo '<h3> 제목: '.$row['title']."<h3><hr>";
echo '<h6> 본문 </h6>'.$row['content'].'<hr>';
}
else
{
echo "<script>alert('비밀번호가 일치하지 않습니다.')</script>";
echo "<script>location.replace('login.php')</script>";
}
}
?>
<?php include 'footer.php' ?>
위 코드를 구성하며 비밀번호가 틀릴 경우 로그인 페이지로 자동으로 이동하게 된다.