Odstraňte vozidlo s SPZ 1A9 89-45 a všechny jeho jízdy. (Možná bude potřeba více příkazů.)
Vytvořte novou tabulku pro typ vozidla a změňte údaj v tabulce vozidlo, aby místo textového řetězce obsahoval cizí klíč do této tabulky. (Bude potřeba více příkazů.)
Obchod s ikonkami
Soubor icon-shop.zip si stáhněte a v nějaké složce ve svém repozitáři extrahujte.
TODO v souborech list.php, detail.php, order.php.
Kód obsahuje pár kritických chyb, pokuste se alespoň nějakou najít.
Maximální počet ikonek, které si mohu koupit, je nastaven v okamžiku, kdy načtu stránku. Než je koupím, někdo jiný je mohl vykoupit.
Ještě horší ovšem je to, že podmínky ve formuláři lze jednoduše obejít. Požadavek lze poslat z jakéhokoli programovacího jazyka, pak nikdo podmínky nekontroluje. Jde to dokonce i přes Console v prohlížeči, vložte tam obsah souboru req.js.
Zlaté pravidlo: Nikdy nevěřte vstupu od uživatele. Veškeré hodnoty zkontrolujte na serveru.
Stejným způsobem lze do vyhledávacího pole zadat libovolný řetězec, který se pak stane součástí SQL příkazu.
Také je potřeba myslet na to, jak stránku zveřejníte. Soubor s databází by měl mít speciálně ošetřená práva, aby nešel stáhnout.
Poznámka k úkolům
Pro úlohu "Jednoduché SQL" si budete muset na vašem počítači rozběhnout svojí verzi databázového testovátka.
Online verze je read-only, pro testování úprav si stáhněte soubor db.zip.
Bude potřeba choco install php.
Rozbalte a ve složce spusťte php -S localhost:3000.
Pokud vám na Windows PHP padá s chybou SQLite3, je třeba říct, aby použilo odpovídající knihovnu.
php -S localhost:3000 -c php.ini
Poskytnutý soubor php.ini je možná potřeba upravit, aby cesta odpovídala vaší instalaci PHP.
Jsou potřeba soubory C:\\tools\\php81\\libsqlite3.dll a C:\\tools\\php81\\ext\\php_sqlite3.dll.
Navíc složka C:\\tools\\php81\\ musí být v PATH.
Pokud nemáte Windows a neumíte si rozběhnout testovátko
lokálně, napište mi.