Rozwiązanie - Egzamin Praktyczny E.14

Arkusz E.14-03-18.01 - Styczeń 2018 - Wersja #03

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny E.14-03-18.01 - Styczeń 2018 - Wersja #03
Wymagane zdjęcia
Egzamin E.14-03-18.01 - dodatkowe zdjęcia - ksiazki.jpg
ksiazki.jpg
Wyniki działań na bazie danych
Egzamin E.14-03-18.01 - Operacje na bazie danych - import.jpg
import.jpg
Egzamin E.14-03-18.01 - Operacje na bazie danych - import.jpg
kw1.jpeg
Egzamin E.14-03-18.01 - Operacje na bazie danych - import.jpg
kw2.jpeg
Egzamin E.14-03-18.01 - Operacje na bazie danych - import.jpg
kw3.jpeg
Egzamin E.14-03-18.01 - Operacje na bazie danych - import.jpg
kw4.jpeg
Plik ogloszenie.sql
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 08 Mar 2023, 04:46
-- Wersja serwera: 10.4.27-MariaDB
-- Wersja PHP: 8.1.12

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Baza danych: `ogloszenia`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `ogloszenie`
--

CREATE TABLE `ogloszenie` (
  `id` int(10) UNSIGNED NOT NULL,
  `uzytkownik_id` int(10) UNSIGNED NOT NULL,
  `kategoria` int(10) UNSIGNED DEFAULT NULL,
  `podkategoria` int(10) UNSIGNED DEFAULT NULL,
  `tytul` text DEFAULT NULL,
  `tresc` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

--
-- Zrzut danych tabeli `ogloszenie`
--

INSERT INTO `ogloszenie` (`id`, `uzytkownik_id`, `kategoria`, `podkategoria`, `tytul`, `tresc`) VALUES
(1, 1, 1, 12, 'Daniel Craig. Biografia', 'Biografia Daniela Craiga, niedrogo sprzedam'),
(2, 1, 1, 13, 'Selekcja', 'Sprzedam: \"Selekcja\" J. Kellermana, niezniszczona'),
(3, 2, 1, 13, 'Buick', 'Sprzedam horror Stephena Kinga w dobrym stanie'),
(4, 2, 1, 14, 'Tytus, Romek i Atomek', 'Ks. IV do sprzedania, stan dobry'),
(5, 2, 2, 0, 'Imagine Dragons', 'Sprzedam dwa CD Imagine Dragons'),
(6, 1, 2, 0, 'Celine Dion', 'Sprzedam CD piosenkarki');

--
-- Indeksy dla zrzutów tabel
--

--
-- Indeksy dla tabeli `ogloszenie`
--
ALTER TABLE `ogloszenie`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT dla zrzuconych tabel
--

--
-- AUTO_INCREMENT dla tabeli `ogloszenie`
--
ALTER TABLE `ogloszenie`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Plik kwerendy.txt
Zapytanie 1: INSERT INTO ogloszenie (uzytkownik_id, kategoria, podkategoria, tytul, tresc) VALUES (1, 2, 0, 'Celine Dion', 'Sprzedam CD piosenkarki');
Zapytanie 2: SELECT tytul, tresc FROM ogloszenie WHERE kategoria = 1 AND podkategoria = 13;
Zapytanie 3: CREATE USER 'andrzej'@'localhost' IDENTIFIED BY 'xsw23';
Zapytanie 4: GRANT SELECT, ALTER ON ogloszenie.* TO 'andrzej'@'localhost';
Plik formularz.html
<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Dodaj ogłoszenie</title>
        <link rel="stylesheet" href="styl3.css">
    </head>
    <body>
        <header>
            <h1>Portal Ogłoszeniowy</h1>
        </header>

        <div id="lewy">
            <h2>Kategorie</h2>
            <ol>
                <li>Książki</li>
                <li>Muzyka</li>
                <li>Filmy</li>
            </ol>
            <h2>Podkategorie</h2>
            <ol>
                <li>Romans</li>
                <li>Biografia</li>
                <li>Kryminał</li>
                <li>Komiks</li>
            </ol>
            <img src="ksiazki.jpg" alt="Dodaj ogłoszenie"><br><br>
            <a href="kwerendy.txt">Pobierz kwerendy</a>
        </div>

        <div id="prawy">
            <h2>Anna Kowalska - dodanie ogłoszenia</h2>
            <form action="dodajRekord.php" method="post">
                Kategoria:<br>
                <input type="number" name="kategoria" id="kategoria"><br>
                Podkategoria:<br>
                <input type="number" name="podkategoria" id="podkategoria"><br>
                Tytuł:<br>
                <input type="text" name="tytul" id="tytul"><br>
                Treść:<br>
                <textarea name="tresc" id="tresc" cols="40" rows="10"></textarea><br>
                <button type="reset">WYCZYŚĆ</button>
                <button type="submit">ZAPISZ</button>
            </form>
        </div>

        <footer>
            <p>Portal ogłoszeniowy opracował: <a href="https://ee-informatyk.pl/" target="_blank">EE-Informatyk.pl</a></p>
        </footer>
    </body>
</html>
Plik dodajRekord.php
<?php

    if(isset($_POST["kategoria"])) {
        $kategoria = $_POST["kategoria"];
        $podkategoria = $_POST["podkategoria"];
        $tytul = $_POST["tytul"];
        $tresc = $_POST["tresc"];

        $conn = new mysqli("localhost","root","","ogloszenia");

        $sql = "INSERT INTO ogloszenie (uzytkownik_id, kategoria, podkategoria, tytul, tresc) VALUES (1, $kategoria, $podkategoria, '$tytul', '$tresc');";
        $result = $conn->query($sql);
        
        $conn -> close();

        echo "Ogłoszenie pomyślnie dodane";
    }
?>
Plik styl3.css
header {
    background: #00839C;
    color: white;
    font-family: Tahoma;
    text-align: center;
    height: 80px;
}

#lewy {
    background: #20D9FB;
    width: 30%;
    height: 750px;
    float: left;
}

#prawy {
    background: #00BDE2;
    width: 70%;
    height: 750px;
    float: left;
}

footer {
    background: #00839C;
    color: white;
    text-align: right;
    clear: both;
}

img {
    padding: 30px;
    border: 2px solid blue;
}

a {
    color: black;
}

a:visited {
    color: white;
}

button {
    background: blue;
    color: white;
    border: none;
    margin: 20px;
}

Strona używa plików cookies

Serwis wykorzystuje ciasteczka głównie w celu prowadzenia systemu formularzy oraz zbierania danych dotyczących ruchu na stronie.

Więcej informacji znajdziesz w Polityce Prywatności

Akceptuję