회원(유저) 신청 게시판
본문
이용권 게시판을 만들고
이용권들을 하나의 게시글 형태로 만들었을 때,
유저들이 해당 게시글(이용권)을 클릭해서 본인 정보를 남기면
그 정보를 관리자에서 확인하고 싶습니다
혹시 해당 기능 구현하는 방법이 있을까요??
제가 생각한건,
이용권게시판 / 회원신청 게시판을 각각 만들고
이용권 게시판 목록에서 이용권 선택시 회원 신청 게시판 write 페이지로
이동해서 정보를 남기는건데요
이렇게 되면 회원신청 게시판의 db을 관리자에서 출력만 하면 되는데,
문제는 이 회원이 선택한 이용권게시판의 게시글이 어떤건지 가져오는 방법을 모르겠습니다
이 외에 다른 방법이 있을까요 ㅠㅠ
한 게시판 내에서 모두 처리하는게 편하긴 합니다..
답변 4
♠ 전체적인 개요;
- DB 설정
- 게시글 페이지 작성
- 게시글 목록 페이지
- 신청정보 입력 체이지
- 신챵정보 저장 처리
- 확인 검토 페이지
- 승인 처리 페이지
※ 게시판에 이용권(ex, 2개) 게시글을 생성하고,
사용자가 해당 이용권을 클릭하여 요청 정보를 입력한 후,
관리자가 이를 확인하고 승인하는 coding ~~
- write_update.php를 만들어, 게시판에 이용권 게시글 작성_load.
- 각 게시글은 제목, 내용 필드로 이용권 정보 저장.
- 이용권 크릭 > 사용자 정보 form 게시
> write_comment_update.php를 참고하여 요청양식 파일 추가.
- 기존의 write.php에 추가할 수도 있음
- DB에 테이블(구조) 만들기
CREATE TABLE board (
id INT AUTO_INCREMENT PRIMARY KEY,
wr_subject VARCHAR(255) NOT NULL,
wr_content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
- 두 개의 이용권 게시글 작성
write.php
<?php
include_once('../lib/connect.lib.php');
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$wr_subject = $_POST['wr_subject'];
$wr_content = $_POST['wr_content'];
$sql = "INSERT INTO board (wr_subject, wr_content) VALUES ('$wr_subject', '$wr_content')";
mysqli_query($conn, $sql);
echo "이용권 게시글 작성.";
} else {
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>이용권 게시글 작성</title>
</head>
<body>
<h1>이용권 게시글 작성</h1>
<form action="write.php" method="post">
<label for="wr_subject">이용권 제목:</label>
<input type="text" id="wr_subject" name="wr_subject" required><br><br>
<label for="wr_content">이용권 설명:</label>
<textarea id="wr_content" name="wr_content" rows="4" cols="50" required></textarea><br><br>
<button type="submit">게시글 작성</button>
</form>
</body>
</html>
> 게시글을 저장할 DB 테이블이 필요 < 테이블을 먼저 만듬.
- connect.lib.php
<?php
$host = "localhost";
$user = "db_user";
$password = "db_pass";
$database = "database_name";
$conn = mysqli_connect($host, $user, $password, $database);
if (!$conn) {
die("DB 연결 실패: " . mysqli_connect_error());
}
>> write.php
에서 connect.lib.php
파일을 통해 데이터베이스 연결
- 요청 양식이 제출되면 해당 정보를 받아 DB에 저장
<?php
include_once('../lib/connect.lib.php');
$user_name = $_POST['user_name'];
$user_email = $_POST['user_email'];
$ticket_id = $_POST['ticket_id'];
$sql = "INSERT INTO requests (user_name, user_email, ticket_id, status) VALUES ('$user_name', '$user_email', '$ticket_id', 'pending')";
mysqli_query($conn, $sql);
echo "이용 요청 완료.";
- 확인 / 승인할 페이지 > adm폴더에 생성
adm/request_list.php (확인)
<?php
include_once('../lib/connect.lib.php');
$sql = "SELECT * FROM requests WHERE status = 'pending'";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)) {
echo "<div>";
echo "<p>사용자: " . $row['user_name'] . "</p>";
echo "<p>이메일: " . $row['user_email'] . "</p>";
echo "<p>이용권 ID: " . $row['ticket_id'] . "</p>";
echo "<a href='request_approve.php?id=" . $row['id'] . "'>승인</a>";
echo "</div>";
}
adm/request_approve.php (승인)
<?php
include_once('../lib/connect.lib.php');
$request_id = $_GET['id'];
$sql = "UPDATE requests SET status = 'approved' WHERE id = $request_id";
mysqli_query($conn, $sql);
header('Location: request_list.php');
정말 소중한 답변 드릴려고 5번 읽어봤는데 이해가 어렵네요...
조금 쉽게 설명 해주실 수는 없을지요 ?
아예 이해가 안갑니다.
당연히 선택했을때도 DB 에 남겨야죠....
선택했을때 이전 게시판의 보드ID 와 wr_id 도 넘겨서 GET 으로 등록하면됩니다.