회원(유저) 신청 게시판

회원(유저) 신청 게시판

QA

회원(유저) 신청 게시판

본문

이용권 게시판을 만들고 

이용권들을 하나의 게시글 형태로 만들었을 때,

유저들이 해당 게시글(이용권)을 클릭해서 본인 정보를 남기면

그 정보를 관리자에서 확인하고 싶습니다 

 

혹시 해당 기능 구현하는 방법이 있을까요??

제가 생각한건,

이용권게시판 / 회원신청 게시판을 각각 만들고

이용권 게시판 목록에서 이용권 선택시 회원 신청 게시판 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');
답변을 작성하시기 전에 로그인 해주세요.
전체 126,828 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT