oazaSrdceWeb / admin / addaktualita.php
addaktualita.php
Raw
<?php

/**
 * @file addaktualita.php
 * @brief Skript pro přidání nové aktuality do databáze.
 *
 * Tento skript zajišťuje zobrazení formuláře a zpracování dat pro přidání nové aktuality.
 * Umožňuje nahrání fotografie, zadání názvu, data, náhledu a až 10 nadpisů s paragrafy.
 * Přístup je povolen pouze přihlášeným uživatelům.
 */

include '../db_connection.php'; ///< Připojení k databázi.
$conn->set_charset("utf8mb4");
session_start();


/**
 * Kontrola, zda je uživatel přihlášen.
 * Pokud není, přesměruje na přihlašovací stránku.
 */
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
    header('Location: login.php');
    exit();
}

/**
 * Zpracování odeslaného formuláře metodou POST.
 */

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    $date = $_POST['date'];
    $preview = $_POST['preview'];
    $heading1 = $_POST['heading1'];
    $paragraph1 = $_POST['paragraph1'];
    $heading2 = $_POST['heading2'];
    $paragraph2  = $_POST['paragraph2'];
    $heading3 = $_POST['heading3'];
    $paragraph3 = $_POST['paragraph3'];
    $heading4 = $_POST['heading4'];
    $paragraph4 = $_POST['paragraph4'];
    $heading5 = $_POST['heading5'];
    $paragraph5 = $_POST['paragraph5'];
    $heading6 = $_POST['heading6'];
    $paragraph6  = $_POST['paragraph6'];
    $heading7 = $_POST['heading7'];
    $paragraph7 = $_POST['paragraph7'];
    $heading8 = $_POST['heading8'];
    $paragraph8 = $_POST['paragraph8'];
    $heading9 = $_POST['heading9'];
    $paragraph9 = $_POST['paragraph9'];
    $heading10 = $_POST['heading10'];
    $paragraph10 = $_POST['paragraph10'];

    $uploadDir = '../media/articles/aktuality'; ///< Cílová složka pro nahrání fotky (serverová cesta).
    $actualDir = 'media/articles/aktuality'; ///< Cesta pro uložení do databáze (relativní).
    $photo = $uploadDir . basename($_FILES['photo']['name']); ///< Cesta k nahrané fotce.

    // Nahrání fotky na server.
    move_uploaded_file($_FILES['photo']['tmp_name'], $photo);

    $photo = $actualDir . basename($_FILES['photo']['name']); ///< Cesta k fotce pro databázi.

    /**
     * Vložení nové aktuality do databáze pomocí připraveného dotazu.
     */

    $stmt = $conn->prepare('INSERT INTO aktuality (name, photo, date, preview, heading1, paragraph1, heading2, paragraph2, heading3, paragraph3, heading4, paragraph4, heading5, paragraph5, heading6, paragraph6, heading7, paragraph7, heading8, paragraph8, heading9, paragraph9, heading10, paragraph10) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
    $stmt->bind_param('ssssssssssssssssssssssss', $name, $photo, $date, $preview, $heading1, $paragraph1, $heading2, $paragraph2, $heading3, $paragraph3, $heading4, $paragraph4, $heading5, $paragraph5, $heading6, $paragraph6, $heading7, $paragraph7, $heading8, $paragraph8, $heading9, $paragraph9, $heading10, $paragraph10);

    if ($stmt->execute()) {
        $success = 'Aktualita byla přidána';
    } else {
        $error = 'Vyskytla se chyba';
    }
    $stmt->close();
}
?>
<!DOCTYPE html>
<html lang="cs">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Přidat Lektora</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
    <link rel="stylesheet" href="../admin.css" />
</head>

<body>
    <div class="container mt-5">
        <a href="../admin.php" class="backbtn">Zpět na panel</a>
        <h2 class="text-center mb-4 hedingForm">Přidat Aktualitu</h2>
        <?php if (isset($success)) {
            echo '<div class="alert alert-success text-center">' . $success . '</div>';
        } ?>
        <?php if (isset($error)) {
            echo '<div class="alert alert-danger text-center">' . $error . '</div>';
        } ?>
        <div class="row justify-content-center">
            <div class="col-md-8">
                <form action="addaktualita.php" method="post" enctype="multipart/form-data">
                    <div class="form-group">
                        <label for="name">Název</label>
                        <input type="text" class="form-control" id="name" name="name" required>
                    </div>
                    <div class="form-group">
                        <label for="photo">Fotka</label>
                        <input type="file" class="form-control" id="photo" name="photo" required>
                    </div>
                    <div class="form-group">
                        <label for="date">Datum</label>
                        <input type="date" class="form-control" id="date" name="date" required>
                    </div>
                    <div class="form-group">
                        <label for="preview">Náhled</label>
                        <input type="text" class="form-control" id="preview" name="preview">
                    </div>
                    <div class="form-group">
                        <label for="heading1">Nadpis 1</label>
                        <input type="text" class="form-control" id="heading1" name="heading1">
                    </div>
                    <div class="form-group">
                        <label for="paragraph1">Paragraf 1</label>
                        <input type="text" class="form-control" id="paragraph1" name="paragraph1">
                    </div>
                    <div class="form-group">
                        <label for="heading2">Nadpis 2</label>
                        <input type="text" class="form-control" id="heading2" name="heading2">
                    </div>
                    <div class="form-group">
                        <label for="paragraph2">Paragraf 2</label>
                        <input type="text" class="form-control" id="paragraph2" name="paragraph2">
                    </div>
                    <div class="form-group">
                        <label for="heading3">Nadpis 3</label>
                        <input type="text" class="form-control" id="heading3" name="heading3">
                    </div>
                    <div class="form-group">
                        <label for="paragraph3">Paragraf 3</label>
                        <input type="text" class="form-control" id="paragraph3" name="paragraph3">
                    </div>
                    <div class="form-group">
                        <label for="heading4">Nadpis 4</label>
                        <input type="text" class="form-control" id="heading4" name="heading4">
                    </div>
                    <div class="form-group">
                        <label for="paragraph4">Paragraf 4</label>
                        <input type="text" class="form-control" id="paragraph4" name="paragraph4">
                    </div>
                    <div class="form-group">
                        <label for="heading5">Nadpis 5</label>
                        <input type="text" class="form-control" id="heading5" name="heading5">
                    </div>
                    <div class="form-group">
                        <label for="paragraph5">Paragraf 5</label>
                        <input type="text" class="form-control" id="paragraph5" name="paragraph5">
                    </div>
                    <div class="form-group">
                        <label for="heading6">Nadpis 6</label>
                        <input type="text" class="form-control" id="heading6" name="heading6">
                    </div>
                    <div class="form-group">
                        <label for="paragraph6">Paragraf 6</label>
                        <input type="text" class="form-control" id="paragraph6" name="paragraph6">
                    </div>
                    <div class="form-group">
                        <label for="heading7">Nadpis 7</label>
                        <input type="text" class="form-control" id="heading7" name="heading7">
                    </div>
                    <div class="form-group">
                        <label for="paragraph7">Paragraf 7</label>
                        <input type="text" class="form-control" id="paragraph7" name="paragraph7">
                    </div>
                    <div class="form-group">
                        <label for="heading8">Nadpis 8</label>
                        <input type="text" class="form-control" id="heading8" name="heading8">
                    </div>
                    <div class="form-group">
                        <label for="paragraph8">Paragraf 8</label>
                        <input type="text" class="form-control" id="paragraph8" name="paragraph8">
                    </div>
                    <div class="form-group">
                        <label for="heading9">Nadpis 9</label>
                        <input type="text" class="form-control" id="heading9" name="heading9">
                    </div>
                    <div class="form-group">
                        <label for="paragraph9">Paragraf 9</label>
                        <input type="text" class="form-control" id="paragraph9" name="paragraph9">
                    </div>
                    <div class="form-group">
                        <label for="heading10">Nadpis 10</label>
                        <input type="text" class="form-control" id="heading10" name="heading10">
                    </div>
                    <div class="form-group">
                        <label for="paragraph10">Paragraf 10</label>
                        <input type="text" class="form-control" id="paragraph10" name="paragraph10">
                    </div>
                    <button type="submit" class="btn btn-primary btn-block">Přidat</button>
                </form>
            </div>
        </div>
    </div>
</body>

</html>