Ecco un semplice script in PHP per creare una pagina di prenotazioni per un ristorante. Questo script include un modulo HTML per raccogliere i dati della prenotazione e un codice PHP per gestire e salvare le prenotazioni in un database MySQL.

1. Configurazione del Database

Prima di tutto, devi configurare il tuo database MySQL. Ecco i passaggi:

  1. Apri phpMyAdmin.
  2. Crea un nuovo database chiamato ristorante.
  3. Crea una tabella chiamata prenotazioni con i seguenti campi:
CREATE TABLE prenotazioni (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
telefono VARCHAR(15) NOT NULL,
DATA DATE NOT NULL,
ora TIME NOT NULL,
persone INT(3) NOT NULL,
messaggio TEXT
);

2. Creazione del Modulo di Prenotazione

Crea un file chiamato prenotazione.php e aggiungi il seguente codice:

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Prenotazione Ristorante</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f8f8f8;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }
        form {
            background-color: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            max-width: 400px;
            width: 100%;
        }
        input, textarea {
            width: 100%;
            padding: 10px;
            margin: 10px 0;
            border: 1px solid #ccc;
            border-radius: 4px;
        }
        button {
            background-color: #4CAF50;
            color: white;
            padding: 10px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        button:hover {
            background-color: #45a049;
        }
    </style>
</head>
<body>
    <form action="prenotazione.php" method="post">
        <h2>Prenota un Tavolo</h2>
        <label for="nome">Nome:</label>
        <input type="text" id="nome" name="nome" required>
       
        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required>
       
        <label for="telefono">Telefono:</label>
        <input type="text" id="telefono" name="telefono" required>
       
        <label for="data">Data:</label>
        <input type="date" id="data" name="data" required>
       
        <label for="ora">Ora:</label>
        <input type="time" id="ora" name="ora" required>
       
        <label for="persone">Numero di Persone:</label>
        <input type="number" id="persone" name="persone" required>
       
        <label for="messaggio">Messaggio:</label>
        <textarea id="messaggio" name="messaggio"></textarea>
       
        <button type="submit">Invia Prenotazione</button>
    </form>

    <?php
   if ($_SERVER["REQUEST_METHOD"] == "POST") {
       $servername = "localhost";
       $username = "root";
       $password = "";
       $dbname = "ristorante";

       // Crea la connessione
       $conn = new mysqli($servername, $username, $password, $dbname);

       // Controlla la connessione
       if ($conn->connect_error) {
            die("Connessione fallita: " . $conn->connect_error);
        }

        $nome = $_POST["nome"];
        $email = $_POST["email"];
        $telefono = $_POST["telefono"];
        $data = $_POST["data"];
        $ora = $_POST["ora"];
        $persone = $_POST["persone"];
        $messaggio = $_POST["messaggio"];

        $sql = "INSERT INTO prenotazioni (nome, email, telefono, data, ora, persone, messaggio)
                VALUES ('$nome', '$email', '$telefono', '$data', '$ora', '$persone', '$messaggio')";

        if ($conn->query($sql) === TRUE) {
            echo "<p>Prenotazione completata con successo!</p>";
        } else {
            echo "Errore: " . $sql . "<br>" . $conn->error;
        }

        $conn->close();
    }
    ?>
</body>
</html>

Spiegazione del Codice

  1. HTML: Il modulo HTML consente agli utenti di inserire i loro dettagli di prenotazione, tra cui nome, email, telefono, data, ora, numero di persone e un messaggio opzionale.
  2. PHP: Il codice PHP in cima al file gestisce l’invio del modulo. Quando il modulo viene inviato (metodo POST), i dati vengono raccolti e inseriti nel database MySQL.

3. Visualizzazione delle Prenotazioni

Puoi creare una pagina separata per visualizzare tutte le prenotazioni ricevute. Crea un file chiamato visualizza_prenotazioni.php e aggiungi il seguente codice:

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Visualizza Prenotazioni</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f8f8f8;
            margin: 0;
            padding: 20px;
        }
        table {
            width: 100%;
            border-collapse: collapse;
        }
        th, td {
            padding: 12px;
            border: 1px solid #ddd;
            text-align: left;
        }
        th {
            background-color: #4CAF50;
            color: white;
        }
    </style>
</head>
<body>
    <h2>Elenco Prenotazioni</h2>
    <table>
        <tr>
            <th>ID</th>
            <th>Nome</th>
            <th>Email</th>
            <th>Telefono</th>
            <th>Data</th>
            <th>Ora</th>
            <th>Persone</th>
            <th>Messaggio</th>
        </tr>
        <?php
        $servername = "localhost";
        $username = "root";
        $password = "";
        $dbname = "ristorante";

        // Crea la connessione
        $conn = new mysqli($servername, $username, $password, $dbname);

        // Controlla la connessione
        if ($conn->connect_error) {
            die("Connessione fallita: " . $conn->connect_error);
        }

        $sql = "SELECT * FROM prenotazioni";
        $result = $conn->query($sql);

        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo "<tr><td>" . $row["id"]. "</td><td>" . $row["nome"]. "</td><td>" . $row["email"]. "</td><td>" . $row["telefono"]. "</td><td>" . $row["data"]. "</td><td>" . $row["ora"]. "</td><td>" . $row["persone"]. "</td><td>" . $row["messaggio"]. "</td></tr>";
            }
        } else {
            echo "<tr><td colspan='8'>Nessuna prenotazione trovata</td></tr>";
        }

        $conn->close();
        ?>
    </table>
</body>
</html>

Con questi semplici passaggi, hai creato una pagina di prenotazioni per il tuo ristorante utilizzando PHP e MySQL. Questo script consente agli utenti di prenotare un tavolo e memorizzare le informazioni nel database, mentre tu puoi visualizzare tutte le prenotazioni ricevute. Sentiti libero di personalizzare ulteriormente il modulo e le funzionalità in base alle esigenze del tuo ristorante.

 

Se hai bisogno di aiuto o informazioni:

Prodotti e Servizi