현재 위치: > 최신 기사 목록> PHP 온라인 대여 시스템 개발 튜토리얼: 데이터베이스에서 프런트엔드까지 전체 프로세스

PHP 온라인 대여 시스템 개발 튜토리얼: 데이터베이스에서 프런트엔드까지 전체 프로세스

M66 2025-11-05

PHP 온라인 렌탈 시스템 개발 개요

인터넷의 발전으로 점점 더 많은 전통적인 임대 비즈니스가 온라인으로 변화하기 시작했습니다. 간편한 온라인 대여 시스템을 통해 사용자는 편리하게 물품을 대여할 수 있을 뿐만 아니라 판매자에게는 보다 효율적인 관리 방법을 제공합니다. 이 기사에서는 PHP를 사용하여 처음부터 기본적인 온라인 대여 시스템을 구축하는 방법을 소개합니다.

데이터베이스 설계

먼저, 사용자 정보, 품목 정보, 주문 정보 등 시스템의 기본 데이터를 저장할 수 있는 데이터베이스를 설계해야 합니다. 기본 데이터베이스 구조는 다음과 같습니다.

사용자 테이블(사용자): 사용자 계정, 비밀번호, 이메일 및 기타 정보를 저장합니다.

 CREATE TABLE users (
  id INT(11) PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(50) NOT NULL,
  password VARCHAR(255) NOT NULL,
  email VARCHAR(100) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

아이템 테이블(item) : 대여 가능한 아이템의 이름, 설명 등을 저장합니다.

 CREATE TABLE items (
  id INT(11) PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL,
  description TEXT NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

주문 테이블(orders) : 각 렌탈의 사용자, 아이템, 렌탈 시간을 기록하기 위해 사용됩니다.

 CREATE TABLE orders (
  id INT(11) PRIMARY KEY AUTO_INCREMENT,
  user_id INT(11) NOT NULL,
  item_id INT(11) NOT NULL,
  start_date DATE NOT NULL,
  end_date DATE NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES users(id),
  FOREIGN KEY (item_id) REFERENCES items(id)
);

시스템 파일 구조

프로젝트 루트 디렉터리에서 다음 파일 구조를 설정하여 코드를 구성할 수 있습니다.

  • index.php : 시스템 홈페이지, 아이템 목록 및 렌탈 입구 표시에 사용됩니다.
  • login.php: 사용자 신원을 확인하는 로그인 페이지입니다.
  • Register.php: 등록 페이지, 새 사용자 생성.
  • logout.php: 페이지를 종료하고 세션을 삭제합니다.
  • config.php: 데이터베이스 연결 구성 파일.
  • template/: 머리글, 바닥글, 항목 표시 모듈과 같은 템플릿 파일을 저장합니다.

홈페이지 개발(index.php)

홈 페이지는 대여 가능한 항목 목록을 표시하고 사용자의 로그인 상태에 따라 다양한 콘텐츠를 표시하는 역할을 합니다. 핵심 코드 예시는 다음과 같습니다.

 <?php
// 항목 목록 가져오기
$query = "SELECT * FROM items";
$result = mysqli_query($con, $query);

// 항목 목록을 반복합니다.
while ($row = mysqli_fetch_assoc($result)) {
    echo "<div class='item'>";
    echo "<h3>" . $row['name'] . "</h3>";
    echo "<p>" . $row['description'] . "</p>";
    echo "<a href='rent.php?id=" . $row['id'] . "'>임차권</a>";
    echo "</div>";
}
?>

위의 코드를 통해 데이터베이스에서 항목 정보를 읽고 표시 콘텐츠를 동적으로 생성합니다.

렌탈페이지(rent.php)

임대 페이지는 사용자 임대 요청을 처리하는 역할을 담당합니다. 사용자가 로그인되어 있는지 확인해야 하며, 로그인되어 있지 않으면 로그인 페이지로 이동합니다. 로그인 후, 아이템 정보 및 대여 양식이 표시됩니다. 사용자는 대여 시작 및 종료 시간을 선택하고 주문을 제출할 수 있습니다.

등록 및 로그인 기능

등록 및 로그인 페이지는 사용자 인증을 처리합니다. 등록 시 사용자 정보가 데이터베이스에 기록됩니다. 로그인 시 사용자 이름과 비밀번호가 일치하는지 확인합니다. 확인을 통과한 후 세션을 사용하여 로그인 상태를 저장할 수 있습니다.

로그아웃 기능

사용자가 로그아웃을 클릭하면 현재 세션이 삭제되고 로그인 페이지로 돌아가야 합니다. 이는 다음 코드를 사용하여 달성할 수 있습니다.

 <?php
// 사용자 로그아웃
session_start();
session_destroy();

// 로그인 페이지로 이동
header("Location: login.php");
exit;
?>

요약

이 기사에서는 데이터베이스 설계, 로그인 등록, 아이템 표시 및 대여 기능을 포함하여 PHP를 통해 기본적인 온라인 대여 시스템을 구축하는 방법을 보여줍니다. 예시는 비교적 단순화되어 있지만 결제 모듈 추가, 렌탈 상태 관리, 보안 최적화 등 시스템을 더욱 확장하기 위한 좋은 기반을 제공합니다. 이 기사가 실제 프로젝트에서 PHP를 적용하는 방법을 더 잘 이해하는 데 도움이 되기를 바랍니다.