Tento projekt je výsledkem celodenního cvičení ve škole s časovým limitem 8 hodin. Jedná se o jednoduchou webovou aplikaci pro správu knih napsanou v PHP s využitím MySQL databáze.
Autor: Robin Lassak
Časový limit: 8 hodin
Typ projektu: Školní cvičení
Aplikace umožňuje správu knih v databázi s následujícími funkcemi:
- Zobrazení seznamu knih - přehled všech knih v databázi
- Přidání nové knihy - formulář pro vložení nové knihy
- Vyhledávání knih - vyhledávání podle různých kritérií
- ISBN
- Jméno autora
- Příjmení autora
- Název knihy
- Popis knihy
- URL obrázku obalu
index.php- hlavní stránka se seznamem knihpridatKnihu.php- formulář pro přidání nové knihyvyhledatKnihu.php- vyhledávací formulář a zobrazení výsledků
Kniha.php- model knihy s vlastnostmi a konstruktoremRepozitarKnih.php- repository třída pro práci s databázíDatabaze.php- singleton třída pro připojení k databázimap_knihy.php- soubor pro načítání všech potřebných tříd
prihlasovaci_udaje.php- konfigurace databáze (není v git repozitáři)
- Backend: PHP 7+
- Databáze: MySQL
- Frontend: HTML5, CSS3, Bootstrap 5.3.3
- Databázové rozhraní: PDO
Aplikace používá jednoduchou MVC architekturu:
- Model: Třída
Knihareprezentuje datový model - View: HTML šablony s Bootstrap stylingem
- Controller: PHP skripty zpracovávající požadavky
- Singleton Pattern - pro připojení k databázi
- Repository Pattern - pro práci s daty knih
Aplikace používá MySQL databázi s tabulkou EvidenceKnih obsahující sloupce:
- id (primární klíč)
- isbn
- jmeno
- prijmeni
- nazev
- popis
- obrazek
- Použití PDO prepared statements pro prevenci SQL injection
- HTML escaping pomocí
htmlspecialchars()pro prevenci XSS útoků - Konfigurační soubor s přihlašovacími údaji je vyloučen z git repozitáře
- Naklonujte repozitář
- Vytvořte soubor
prihlasovaci_udaje.phps konfigurací databáze:
<?php
return[
'host' => 'your_host',
'db'=> 'your_database',
'user'=> 'your_username',
'pass'=> 'your_password'
];
?>- Vytvořte tabulku
EvidenceKnihv databázi - Spusťte aplikaci na PHP serveru
- Zobrazuje všechny knihy v tabulce
- Obsahuje navigační menu
- Responzivní design s Bootstrap
- Formulář pro zadání všech údajů o knize
- Validace povinných polí
- Automatické přesměrování po úspěšném přidání
- Vyhledávání podle ISBN, jména autora, příjmení autora nebo názvu knihy
- Částečné vyhledávání (LIKE operátor)
- Zobrazení výsledků v tabulce
- Ošetření chyb při prázdném vyhledávání
Vzhledem k časovému limitu 8 hodin obsahuje aplikace základní funkcionality:
- Chybí editace a mazání knih
- Chybí pokročilé filtrování
- Chybí autentifikace uživatelů
- Chybí validace na straně serveru
- Chybí nahrávání obrázků (pouze URL odkazy)
Aplikace demonstruje základní znalosti PHP, MySQL a webového vývoje. I přes časové omezení obsahuje funkční CRUD operace pro správu knih s moderním responzivním designem.