如何使用PHP實現一個簡單的在線預訂系統
引言:
隨著互聯網的發展,在線預訂系統已經成為許多行業的標配。本文將介紹如何使用PHP語言來實現一個簡單的在線預訂系統,并給出相應的代碼示例。
一、系統需求分析
我們的在線預訂系統需要具備以下基本功能:
- 用戶注冊和登錄:用戶可以注冊賬號,并通過登錄來管理和預定相關信息。酒店列表展示:用戶可以瀏覽系統中的酒店列表,并查看相應的酒店信息。預訂酒店:用戶可以選擇心儀的酒店,并進行預訂。同時,系統需要記錄用戶預訂的酒店信息。訂單管理:用戶可以查看自己的訂單信息,并進行相應的管理操作(如取消、修改訂單)。后臺管理:管理員需要能夠管理系統中的酒店和訂單信息,并進行相應數據的統計和報表生成。
二、數據庫設計
在MySQL中創建兩個表,一個是用于存儲用戶信息的user表,另一個是用于存儲酒店信息的hotel表。用戶信息表的結構如下:
CREATE TABLE 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
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
三、系統實現
- 注冊和登錄功能:
代碼示例:
register.php:
<?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>
登錄后復制
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從booking表中查詢訂單信息,并進行相應的管理操作。后臺管理功能:省略,可以根據管理員賬號登錄后,實現對酒店和訂單信息的管理和統計。
結語:
本文介紹了如何使用PHP語言來實現一個簡單的在線預訂系統,并給出了相應的代碼示例。讀者可以根據自己的需求進行相應的修改和拓展,以實現更加完善的功能。希望本文對你有所幫助!
以上就是如何使用PHP實現一個簡單的在線預訂系統的詳細內容,更多請關注www.92cms.cn其它相關文章!