Skip to content

MARMIXTOP/xampp-php-database-practice-lab

Repository files navigation

XAMPP PHP Database Practice Lab

Název projektu

XAMPP PHP Database Practice Lab je český startovací repozitář pro procvičení PHP, formulářů a databáze v lokálním prostředí XAMPP.

Pro koho je tento repozitář

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.

Co se naučíš

  • 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.

Co budeš stavět

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.

Hlavní flow: formulář → PHP → databáze

  1. Uživatel otevře web přes localhost.
  2. Vyplní HTML formulář.
  3. Browser odešle POST request na submit.php.
  4. Apache v XAMPP předá request PHP.
  5. PHP načte hodnoty z $_POST.
  6. PHP zkontroluje povinná pole, e-mail a souhlas.
  7. PHP se připojí k databázi přes PDO.
  8. PHP použije prepared statement.
  9. Data se uloží do tabulky inquiries.
  10. Uživatel se dostane na thank-you.php.
  11. Mentor nebo trainee ověří záznam v phpMyAdmin.

Jak spustit XAMPP

  1. Otevři XAMPP Control Panel.
  2. Spusť modul Apache.
  3. Spusť modul MySQL.
  4. Pokud se modul nespustí, otevři docs/TROUBLESHOOTING.md.

Kam vložit projekt v XAMPP

Naklonuj repozitář:

git clone https://github.com/MARMIXTOP/xampp-php-database-practice-lab.git

Projekt zkopíruj nebo umísti do:

C:\xampp\htdocs\xampp-php-database-practice-lab

Jak otevřít projekt přes localhost

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.

Jak otevřít phpMyAdmin

Otevři:

http://localhost/phpmyadmin/

Jak vytvořit databázi

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.

Jak importovat database/schema.sql

  1. Otevři phpMyAdmin.
  2. Klikni na Import.
  3. Vyber soubor database/schema.sql.
  4. Spusť import.
  5. Ověř, že existuje databáze practice_form_db a tabulka inquiries.

Jak zkopírovat config/db.example.php na config/db.php

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

Jak pracovat ve vlastní branchi

Branch je oddělená větev práce v Gitu. Vytvoř si větev:

git checkout -b feature/php-database-form

Commit je uložený krok práce. Pull request je žádost o kontrolu změn na GitHubu.

Jak otevřít pull request

  1. Pushni svoji branch na GitHub.
  2. Na GitHubu otevři pull request.
  3. Vyplň šablonu.
  4. Přidej screenshot webu a screenshot z phpMyAdmin.
  5. Odpověz na teoretické otázky z docs/THEORY-CHECK.md.

Doporučený postup zítra

  1. Spusť XAMPP.
  2. Spusť Apache a MySQL.
  3. Otevři lokální portal: http://localhost/xampp-php-database-practice-lab/.
  4. Přečti si Teorii a Flow formuláře.
  5. Importuj database/schema.sql v phpMyAdmin.
  6. Zkopíruj config/db.example.php na config/db.php.
  7. Vytvoř branch feature/php-database-form.
  8. Projdi postupně cvičení 1-8.
  9. Otevři pull request se screenshoty a odpověďmi na teoretické otázky.

Co má mentor zkontrolovat

  • 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.

Pořadí cvičení

  1. Spusť XAMPP, Apache a MySQL.
  2. Ověř, že PHP běží přes localhost.
  3. Vytvoř databázi v phpMyAdmin.
  4. Připrav HTML formulář s metodou POST.
  5. Načti data z formuláře v PHP.
  6. Přidej PHP validaci formuláře.
  7. Připoj PHP k databázi přes PDO.
  8. Ulož poptávku do databáze.

Co má trainee odevzdat

  • 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.

Bezpečnostní minimum

  • 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.

Co zatím neděláme

  • Laravel.
  • Composer.
  • Docker.
  • Router knihovny.
  • Login systém.
  • Admin panel.
  • SMTP nebo odesílání e-mailů.
  • Produkční deployment.

Jak číst dokumentaci

Stejný výukový obsah najdeš na dvou místech:

  1. Na GitHubu v Markdown dokumentaci ve složce docs/.
  2. 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.

Jak používat lokální learning portal

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í.

About

Český practice lab pro začátečníky: XAMPP, PHP, MySQL/MariaDB, phpMyAdmin a ukládání formuláře do databáze.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages