XAMPP PHP Database Practice Lab je český startovací repozitář pro procvičení PHP, formulářů a databáze v lokálním prostředí XAMPP.
Repozitář je pro juniorní a frontend trainees, kteří už zkusili HTML, CSS, JavaScript, Git, GitHub a základ práce s lokálním serverem. Teď si vyzkouší backendový základ: PHP, POST request a uložení dat do MySQL/MariaDB.
- Spustit projekt přes XAMPP.
- Spustit Apache a MySQL/MariaDB.
- Otevřít PHP projekt přes localhost.
- Vytvořit nebo importovat databázi v phpMyAdmin.
- Pochopit, jak HTML formulář posílá data metodou POST.
- Číst data v PHP pomocí proměnné $_POST.
- Validovat data na serveru v PHP.
- Připojit PHP k databázi pomocí PDO.
- Použít prepared statement, tedy bezpečně připravený SQL dotaz.
- Uložit poptávku do tabulky inquiries.
- Ověřit uložený řádek v phpMyAdmin.
- Vysvětlit celý flow od browseru až do databáze.
Budeš stavět jednoduchý poptávkový formulář a učit se, co se stane po kliknutí na tlačítko Odeslat. Design je záměrně jednoduchý. Hlavní cíl není krásná stránka, ale pochopení toku dat:
Browser → HTML formulář → POST request → Apache/XAMPP → PHP script → PHP validace → PDO database connection → MySQL/MariaDB insert → záznam v phpMyAdmin → thank-you stránka.
- Uživatel otevře web přes localhost.
- Vyplní HTML formulář.
- Browser odešle POST request na submit.php.
- Apache v XAMPP předá request PHP.
- PHP načte hodnoty z $_POST.
- PHP zkontroluje povinná pole, e-mail a souhlas.
- PHP se připojí k databázi přes PDO.
- PHP použije prepared statement.
- Data se uloží do tabulky inquiries.
- Uživatel se dostane na thank-you.php.
- Mentor nebo trainee ověří záznam v phpMyAdmin.
- Otevři XAMPP Control Panel.
- Spusť modul Apache.
- Spusť modul MySQL.
- Pokud se modul nespustí, otevři docs/TROUBLESHOOTING.md.
Naklonuj repozitář:
git clone https://github.com/MARMIXTOP/xampp-php-database-practice-lab.gitProjekt zkopíruj nebo umísti do:
C:\xampp\htdocs\xampp-php-database-practice-lab
V browseru otevři:
http://localhost/xampp-php-database-practice-lab/
Neotevírej PHP soubory dvojklikem z disku. PHP se musí spustit přes server.
Otevři:
http://localhost/phpmyadmin/
V phpMyAdmin můžeš databázi vytvořit ručně, nebo jednoduše importovat soubor database/schema.sql. Databáze se jmenuje practice_form_db.
- Otevři phpMyAdmin.
- Klikni na Import.
- Vyber soubor database/schema.sql.
- Spusť import.
- Ověř, že existuje databáze practice_form_db a tabulka inquiries.
Soubor config/db.example.php je ukázka. Zkopíruj ho jako:
config/db.php
config/db.php se nesmí commitovat do Gitu, protože může obsahovat lokální hesla.
Výchozí XAMPP hodnoty bývají:
- host: localhost
- database: practice_form_db
- user: root
- password: prázdný řetězec
Branch je oddělená větev práce v Gitu. Vytvoř si větev:
git checkout -b feature/php-database-formCommit je uložený krok práce. Pull request je žádost o kontrolu změn na GitHubu.
- Pushni svoji branch na GitHub.
- Na GitHubu otevři pull request.
- Vyplň šablonu.
- Přidej screenshot webu a screenshot z phpMyAdmin.
- Odpověz na teoretické otázky z docs/THEORY-CHECK.md.
- Spusť XAMPP.
- Spusť Apache a MySQL.
- Otevři lokální portal: http://localhost/xampp-php-database-practice-lab/.
- Přečti si Teorii a Flow formuláře.
- Importuj database/schema.sql v phpMyAdmin.
- Zkopíruj config/db.example.php na config/db.php.
- Vytvoř branch feature/php-database-form.
- Projdi postupně cvičení 1-8.
- Otevři pull request se screenshoty a odpověďmi na teoretické otázky.
- Projekt se otevře přes localhost.
- Apache a MySQL běží.
- Databáze practice_form_db existuje.
- Tabulka inquiries existuje.
- Formulář používá POST.
- Trainee umí vysvětlit $_POST.
- Trainee validuje povinná pole.
- Trainee validuje e-mail.
- Trainee kontroluje consent checkbox.
- Trainee se připojuje přes PDO.
- Trainee používá prepared statement.
- Validní formulář vytvoří DB row.
- Nevalidní formulář nevytvoří DB row.
- config/db.php není commitnutý.
- Trainee umí vysvětlit flow browser → PHP → DB.
- Spusť XAMPP, Apache a MySQL.
- Ověř, že PHP běží přes localhost.
- Vytvoř databázi v phpMyAdmin.
- Připrav HTML formulář s metodou POST.
- Načti data z formuláře v PHP.
- Přidej PHP validaci formuláře.
- Připoj PHP k databázi přes PDO.
- Ulož poptávku do databáze.
- Vlastní branch feature/php-database-form.
- Pull request s vyplněnou šablonou.
- Funkční formulář po doplnění TODO částí.
- Screenshot lokálního webu.
- Screenshot phpMyAdmin se záznamem v tabulce inquiries.
- Odpovědi na teoretické otázky.
- Nikdy neskládej SQL dotaz přímo z dat od uživatele.
- Používej prepared statement.
- Validuj data na serveru v PHP.
- Při výpisu dat do HTML používej htmlspecialchars.
- Neposílej config/db.php do Gitu.
- Nepoužívej reálná osobní data.
- Laravel.
- Composer.
- Docker.
- Router knihovny.
- Login systém.
- Admin panel.
- SMTP nebo odesílání e-mailů.
- Produkční deployment.
Stejný výukový obsah najdeš na dvou místech:
- Na GitHubu v Markdown dokumentaci ve složce docs/.
- Lokálně v browseru přes XAMPP jako learning portal.
Markdown dokumentace je vhodná pro čtení v repozitáři. Lokální learning portal je vhodný při práci v browseru vedle phpMyAdmin.
Otevři http://localhost/xampp-php-database-practice-lab/ a začni stránkou Úvod. Potom pokračuj přes Teorii, Instalaci XAMPP, Flow formuláře, Databázi, SQL tahák a Cvičení.