> 백엔드 개발 > PHP 튜토리얼 > PHP를 사용하여 간단한 온라인 예약 시스템을 구현하는 방법

PHP를 사용하여 간단한 온라인 예약 시스템을 구현하는 방법

王林
풀어 주다: 2023-09-25 11:48:01
원래의
851명이 탐색했습니다.

PHP를 사용하여 간단한 온라인 예약 시스템을 구현하는 방법

PHP를 사용하여 간단한 온라인 예약 시스템을 구현하는 방법

소개:

인터넷이 발전하면서 온라인 예약 시스템은 많은 산업 분야에서 표준이 되었습니다. 이 기사에서는 PHP 언어를 사용하여 간단한 온라인 예약 시스템을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다.

1. 시스템 요구 사항 분석

저희 온라인 예약 시스템에는 다음과 같은 기본 기능이 있어야 합니다.

  1. 사용자 등록 및 로그인: 사용자는 계정을 등록하고 로그인하여 관련 정보를 관리하고 예약할 수 있습니다.
  2. 호텔 목록 표시: 사용자는 시스템에서 호텔 목록을 탐색하고 해당 호텔 정보를 볼 수 있습니다.
  3. 호텔 예약: 사용자는 자신이 좋아하는 호텔을 선택하고 예약할 수 있습니다. 동시에 시스템은 사용자가 예약한 호텔 정보를 기록해야 합니다.
  4. 주문 관리: 사용자는 자신의 주문 정보를 확인하고 해당 관리 작업(주문 취소, 수정 등)을 수행할 수 있습니다.
  5. 백엔드 관리: 관리자는 시스템에서 호텔 및 주문 정보를 관리하고 해당 데이터에 대한 통계 및 보고서 생성을 수행할 수 있어야 합니다.

2. 데이터베이스 설계

MySQL에 두 개의 테이블을 만듭니다. 하나는 사용자 정보를 저장하는 사용자 테이블이고 다른 하나는 호텔 정보를 저장하는 호텔 테이블입니다. 사용자 정보 테이블의 구조는 다음과 같습니다.

CREATE TABLE user (user (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
email varchar(50) NOT NULL,
password varchar(50) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

酒店信息表的结构如下:

CREATE TABLE hotel (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
address varchar(100) NOT NULL,
price decimal(10,2) NOT NULL,
PRIMARY KEY (id id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,

이메일 varchar(50) NOT NULL,

password varchar(50) NOT NULL,

PRIMARY KEY(id) >)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  1. 호텔 정보 테이블의 구조는 다음과 같습니다.

CREATE TABLE 호텔 (

id int(11) NOT NULL AUTO_INCREMENT,

name varchar(50) NOT NULL,

address varchar(100) NOT NULL,

price 십진수 (10,2) NOT NULL,

PRIMARY KEY (id)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  1. 3. 시스템 구현

등록 및 로그인 기능:

    코드 예시:
  1. register.php:
  2. <?php
    require 'db.php';
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $name = $_POST['name'];
        $email = $_POST['email'];
        $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
        
        $sql = "INSERT INTO user(name, email, password) VALUES('$name', '$email', '$password')";
        mysqli_query($conn, $sql);
        
        header('Location: login.php');
        exit;
    }
    ?>
    
    <form action="" method="post">
        <input type="text" name="name" placeholder="用户名" required>
        <input type="email" name="email" placeholder="邮箱" required>
        <input type="password" name="password" placeholder="密码" required>
        <button type="submit">注册</button>
    </form>
    로그인 후 복사
  3. login.php:
<?php
require 'db.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $email = $_POST['email'];
    $password = $_POST['password'];
    
    $sql = "SELECT * FROM user WHERE email='$email'";
    $result = mysqli_query($conn, $sql);
    $user = mysqli_fetch_assoc($result);
    
    if ($user && password_verify($password, $user['password'])) {
        session_start();
        $_SESSION['user_id'] = $user['id'];
        header('Location: index.php');
        exit;
    } else {
        echo '用户名或密码错误';
    }
}
?>

<form action="" method="post">
    <input type="email" name="email" placeholder="邮箱" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">登录</button>
</form>
로그인 후 복사

호텔 목록 표시 및 예약 기능:

🎜코드 샘플: 🎜🎜index.php: 🎜
<?php
require 'db.php';

$sql = "SELECT * FROM hotel";
$result = mysqli_query($conn, $sql);
$hotels = mysqli_fetch_all($result, MYSQLI_ASSOC);
?>

<?php foreach($hotels as $hotel): ?>
    <h3><?php echo $hotel['name']; ?></h3>
    <p>地址:<?php echo $hotel['address']; ?></p>
    <p>价格:<?php echo $hotel['price']; ?></p>
    <a href="booking.php?id=<?php echo $hotel['id']; ?>">预订</a>
<?php endforeach; ?>

booking.php:
<?php
session_start();
require 'db.php';

if (!isset($_SESSION['user_id'])) {
    header('Location: login.php');
    exit;
}

$hotel_id = $_GET['id'];
$user_id = $_SESSION['user_id'];

$sql = "INSERT INTO booking(user_id, hotel_id) VALUES('$user_id', '$hotel_id')";
mysqli_query($conn, $sql);

echo '预订成功';
?>
로그인 후 복사
🎜🎜주문 관리 기능: 생략, 사용자 ID를 기반으로 예약 테이블에서 주문 정보를 검색하고 해당 관리 작업을 수행할 수 있습니다. 🎜🎜백엔드 관리 기능 : 생략되었으며, 관리자 계정으로 로그인 후 호텔 및 주문 정보를 관리하고 집계할 수 있습니다. 🎜🎜🎜결론: 🎜🎜이 기사에서는 PHP 언어를 사용하여 간단한 온라인 예약 시스템을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다. 독자는 보다 완전한 기능을 달성하기 위해 자신의 필요에 따라 해당 수정 및 확장을 수행할 수 있습니다. 이 기사가 도움이 되기를 바랍니다! 🎜

위 내용은 PHP를 사용하여 간단한 온라인 예약 시스템을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿