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






