Heim > Backend-Entwicklung > PHP-Tutorial > So implementieren Sie ein einfaches Online-Buchungssystem mit PHP

So implementieren Sie ein einfaches Online-Buchungssystem mit PHP

王林
Freigeben: 2023-09-25 11:48:01
Original
851 Leute haben es durchsucht

So implementieren Sie ein einfaches Online-Buchungssystem mit PHP

So implementieren Sie mit PHP ein einfaches Online-Buchungssystem

Einführung:

Mit der Entwicklung des Internets sind Online-Buchungssysteme in vielen Branchen zum Standard geworden. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Sprache ein einfaches Online-Reservierungssystem implementieren und entsprechende Codebeispiele angeben.

1. Analyse der Systemanforderungen

Unser Online-Buchungssystem muss über die folgenden Grundfunktionen verfügen:

  1. Benutzerregistrierung und -anmeldung: Benutzer können ein Konto registrieren und sich anmelden, um zugehörige Informationen zu verwalten und zu buchen.
  2. Anzeige der Hotelliste: Benutzer können die Hotelliste im System durchsuchen und die entsprechenden Hotelinformationen anzeigen.
  3. Buchen Sie ein Hotel: Benutzer können ihr Lieblingshotel auswählen und eine Reservierung vornehmen. Gleichzeitig muss das System die vom Benutzer gebuchten Hotelinformationen erfassen.
  4. Auftragsverwaltung: Benutzer können ihre Bestellinformationen anzeigen und entsprechende Verwaltungsvorgänge durchführen (z. B. Bestellungen stornieren und ändern).
  5. Backend-Verwaltung: Der Administrator muss in der Lage sein, die Hotel- und Bestellinformationen im System zu verwalten sowie Statistiken durchzuführen und Berichte zu entsprechenden Daten zu erstellen.

2. Datenbankdesign

Erstellen Sie zwei Tabellen in MySQL, eine ist die Benutzertabelle zum Speichern von Benutzerinformationen und die andere ist die Hoteltabelle zum Speichern von Hotelinformationen. Die Struktur der Benutzerinformationstabelle ist wie folgt:

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,

email varchar(50) NOT NULL,

password varchar(50) NOT NULL,

PRIMARY KEY (id)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  1. Die Struktur der Hotelinformationstabelle ist wie folgt:

CREATE TABLE hotel (

id int(11) NOT NULL AUTO_INCREMENT,

name varchar(50) NOT NULL,

address varchar(100) NOT NULL,

price dezimal (10,2) NOT NULL,

PRIMARY KEY (id)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  1. 3. Systemimplementierung

Registrierungs- und Anmeldefunktion:

    Codebeispiel:
  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>
    Nach dem Login kopieren
  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>
Nach dem Login kopieren

Hotellistenanzeige und Buchungsfunktion:

🎜Codebeispiel: 🎜🎜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 '预订成功';
?>
Nach dem Login kopieren
🎜🎜Funktion zur Auftragsverwaltung: Sie können anhand der Benutzer-ID Bestellinformationen aus der Buchungstabelle abrufen und entsprechende Verwaltungsvorgänge durchführen. 🎜🎜Backend-Verwaltungsfunktion: Entfällt, Sie können Hotel- und Bestellinformationen verwalten und zählen, nachdem Sie sich mit dem Administratorkonto angemeldet haben. 🎜🎜🎜Fazit: 🎜🎜Dieser Artikel stellt vor, wie man mit der PHP-Sprache ein einfaches Online-Reservierungssystem implementiert, und gibt entsprechende Codebeispiele. Leser können entsprechend ihren eigenen Bedürfnissen entsprechende Änderungen und Erweiterungen vornehmen, um umfassendere Funktionen zu erreichen. Ich hoffe, dieser Artikel ist hilfreich für Sie! 🎜

Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein einfaches Online-Buchungssystem mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage