Rozwiązanie - Egzamin Praktyczny EE.09

Arkusz EE.09-01-24.06-SG - Czerwiec 2024 - Wersja #01

Skrypt: PHP

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny EE.09-01-24.06-SG - Czerwiec 2024 - Wersja #01
Wymagane zdjęcia
Egzamin EE.09-01-24.06-SG - dodatkowe zdjęcia - obraz.jpg
obraz.jpg
Wyniki działań na bazie danych
Egzamin EE.09-01-24.06-SG - Operacje na bazie danych - egzamin.png
egzamin.png
Egzamin EE.09-01-24.06-SG - Operacje na bazie danych - egzamin.png
kw1.jpeg
Egzamin EE.09-01-24.06-SG - Operacje na bazie danych - egzamin.png
kw2.jpeg
Egzamin EE.09-01-24.06-SG - Operacje na bazie danych - egzamin.png
kw3.jpeg
Egzamin EE.09-01-24.06-SG - Operacje na bazie danych - egzamin.png
kw4.jpeg
Plik psy.sql
-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Paź 07, 2024 at 04:12 PM
-- Wersja serwera: 10.4.32-MariaDB
-- Wersja PHP: 8.2.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 */;

--
-- Database: `psy`
--

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

--
-- Struktura tabeli dla tabeli `uzytkownicy`
--

CREATE TABLE `uzytkownicy` (
  `id` int(10) UNSIGNED NOT NULL,
  `login` varchar(50) DEFAULT NULL,
  `haslo` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `uzytkownicy`
--

INSERT INTO `uzytkownicy` (`id`, `login`, `haslo`) VALUES
(1, 'Grzegorz', 'g'),
(2, 'Justyna', 'a056c8d05ae9ac6ca180bc991b93b7ffe37563e0'),
(3, 'Ewa', 'c50267b906a652f2142cfab006e215c9f6fdc8a0'),
(4, 'Krzysiek', '637a81ed8e8217bb01c15c67c39b43b0ab4e20f1'),
(5, 'Adam', '8578173555a47d4ea49e697badfda270dee0858f'),
(6, 'Magda', '99ebdbd711b0e1854a6c2e93f759efc2af291fd0'),
(7, 'Werka', '186154712b2d5f6791d85b9a0987b98fa231779c'),
(8, 'Janek', '7823372203bd98aeb10e6f33a6ce7dab12d13423'),
(9, 'Heniek', '425ffc1422dc4f32528bd9fd5af355fdb5c96192'),
(10, 'Ola', '4ae9fa0a8299a828a886c0eb30c930c7cf302a72'),
(11, 'Dawid', 'b3054ff0797ff0b2bbce03ec897fe63e0b6490e0'),
(12, 'Ewelina', '7e240de74fb1ed08fa08d38063f6a6a91462a815');

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

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

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `uzytkownicy`
--
ALTER TABLE `uzytkownicy`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;
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: CREATE TABLE uzytkownicy (
 id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
 login VARCHAR(50),
 haslo VARCHAR(50),
 PRIMARY KEY(id)); 
Zapytanie 2: INSERT INTO `uzytkownicy` (`login`, `haslo`) VALUES ('Grzegorz','g');
Zapytanie 3: SELECT login FROM uzytkownicy;
Zapytanie 4: SELECT id, login FROM uzytkownicy WHERE haslo LIKE "4%"; 
Plik logowanie.php
<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Forum o psach</title>
        <link rel="stylesheet" href="styl4.css">
    </head>
    <body>
        <header>
            <h1>Forum wielbicieli psów</h1>
        </header>

        <div id="lewy">
            <img src="obraz.jpg" alt="foksterier">
        </div>

        <div id="prawy1">
            <h2>Zapisz się</h2>
            <form action="logowanie.php" method="post">
                <label for="login">login: </label> <input type="text" name="login" id="login"><br>
                <label for="haslo">hasło: </label> <input type="password" name="haslo" id="haslo"><br>
                <label for="haslo2">powtórz hasło: </label> <input type="password" name="haslo2" id="haslo2"><br>
                <button type="submit">Zapisz</button>
            </form>
            <?php
                // Skrypt #1
                if(isset($_POST["login"]) && isset($_POST["haslo"]) && isset($_POST["haslo2"])) {
                    if(!empty($_POST["login"]) && !empty($_POST["haslo"]) && !empty($_POST["haslo2"])) {
                        $login = $_POST["login"];
                        $haslo = $_POST["haslo"];
                        $haslo2 = $_POST["haslo2"];
                        $istniejelogin = false;

                        $conn = new mysqli("localhost","root","","psy");
    
                        $sql = "SELECT login FROM uzytkownicy;";
                        $result = $conn->query($sql);
    
                        while($row = $result -> fetch_array()) {
                            if($login == $row[0]) {
                                echo "<p>login występuje w bazie danych, konto nie zostało dodane</p>";
                                $istniejelogin = true;
                            }
                        }

                        if($istniejelogin == false) {
                            if($haslo == $haslo2) {
                                $hash = sha1($haslo);

                                $sql = "INSERT INTO uzytkownicy VALUES (NULL, '$login', '$hash');";
                                $result = $conn->query($sql);

                                echo "<p>Konto zostało dodane</p>";
                            }
                            else {
                                echo "<p>hasła nie są takie same, konto nie zostało dodane</p>";
                            }
                        }
    
                        $conn -> close();
                    }
                    else {
                        echo "<p>wypełnij wszystkie pola</p>";
                    }
                }
            ?>
        </div>

        <div id="prawy2">
            <h2>Zapraszamy wszystkich</h2>
            <ol>
                <li>właścicieli psów</li>
                <li>weterynarzy</li>
                <li>tych, co chcą kupić psa</li>
                <li>tych, co lubią psy</li>
            </ol>
            <a href="regulamin.html">Przeczytaj regulamin forum</a>
        </div>
        
        <footer>
            Stronę wykonał: <a href="https://ee-informatyk.pl/" target="_blank" style="color: unset;text-decoration: none;">EE-Informatyk.pl</a>
        </footer>
    </body>
</html>
Plik styl4.css
body {
    font-family: 'Garamond';
}

header {
    background-color: SaddleBrown;
    color: white;
    text-align: center;
    height: 50px;
}

#lewy {
    background-color: Tan;
    height: 500px;
    width: 40%;
    float: left;
}

#prawy1,
#prawy2 {
    float: right;
    background-color: Tan;
    height: 250px;
    width: 60%;   
}

footer {
    clear: both;
    background-color: SaddleBrown;
    color: white;
}

form {
    background-color: SaddleBrown;
    color: white;
    padding: 10px 30px;
    width: 300px;
}

input {
    margin: 5px;
}

p::before {
    content: "STATUS: ";
}
Plik regulamin.html
regulamin

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ę