====== Obsluha formulářů na straně serveru, seznam, detail, CRUD ====== ===== Úprava formuláře ===== - Upravte {{:courses:b6b39zwa:tutorials:05:05_form.zip|formulář}} tak, aby odesílal své údaje na cílovou stránku * Co je pro to potřeba udělat? * Jaká hodnota se odesílá pokud zaškrtnete položku v části zájmy a jaká pokud ji nezaškrtnete? * Jaký je rozdíl mezi metodou GET a POST? * Co se nachází v poli $_REQUEST? Co se stane pokud se bude promměnná stejného jména v GET i POST? - Upravte část Spam, tak aby bylo možné vybrat jen jednu možnost (běžné a očekávané chování tohoto prvku) * Upravte PHP skript, aby správně zobrazoval proměnné typu pole odeslaná z formuláře (nápověda: rekurze) - Upravte část Zájmy, tak aby se vybrané položky odesílaly v jednom poli dohromady. * Co je potřeba udělat, aby se pro proměnnou posílala nějaká rozumná hodnota? - Upravte část Oblíbené předměty tak, aby bylo v prvním seznamu možné vybrat víc možností. ==== BONUS ==== - Upravte formulář tak, aby se před vymazáním zobrazil potvrzovací dotaz (nápověda: javascript) - Vyzkoušejte si další formulářové prvky. Jaké ještě znáte? ===== Obsluha formuláře ===== - Napište vlastní obsluhu formuláře (v PHP) * Zkontrolujte formát emailu * Zkontrolujte, že je vybrán alespoň jeden zájem a typ spamu * Zkontrolujte, že předmět vybraný jako nejlepší je zároveň vybrán mezi oblíbenými - Pokud není podmínka splněna, zobrazte vhodné chybové hlášení. - Vložte obsluhu do stejného souboru s formulářem a po odeslání (v případě chyby nebo vždy) předvyplňte pole odeslanými hodnotami. ==== BONUS ==== * Upravte formulář a jeho obsluhu tak, aby se ve formuláři zobrazila data z posledního odeslání i při pozdější návštěvě (nejen ihned po reloadu) (nápověda: session) ==== Řešení ==== * {{courses:b6b39zwa:tutorials:05:formular_registrace.zip}} - form registrace