{"id":384,"date":"2024-02-12T08:59:05","date_gmt":"2024-02-12T07:59:05","guid":{"rendered":"https:\/\/gdm.sosthe.sk\/?page_id=384"},"modified":"2024-02-12T08:59:05","modified_gmt":"2024-02-12T07:59:05","slug":"cvicenie-c-12-tvorba-formulara","status":"publish","type":"page","link":"https:\/\/gdm.sosthe.sk\/?page_id=384","title":{"rendered":"Cvi\u010denie \u010d.12 &#8211; Tvorba formul\u00e1ra"},"content":{"rendered":"<h3>T\u00e9ma:\u00a0Tvorba formul\u00e1ra<\/h3>\n<h3>\u00daloha:\u00a0Vytvorte registra\u010dn\u00fd formul\u00e1r ako HTML dokument s n\u00e1zvom\u00a0<em>formular.html<\/em>, ktor\u00fd bude obsahova\u0165 polo\u017eky pod\u013ea zadania a po odoslan\u00ed ktor\u00e9ho sa zobraz\u00ed PHP script\u00a0<em>udaje.php<\/em>\u00a0kde sa zobrazia v\u0161etky polo\u017eky formul\u00e1ra.<\/h3>\n<h3>Zadanie \u00falohy:\u00a0Registra\u010dn\u00fd formul\u00e1r m\u00e1 obsahova\u0165 nasleduj\u00face polo\u017eky:<\/h3>\n<h3>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Osobn\u00e9 \u00fadaje: Meno, priezvisko, d\u00e1tum narodenia, miesto narodenia<\/h3>\n<h3>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Bydlisko: ulica, \u010d\u00edslo popisn\u00e9, mesto, PS\u010c<\/h3>\n<h3>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u010eal\u0161ie \u00fadaje: \u0161t\u00e1tna pr\u00edslu\u0161nos\u0165, pohlavie, vek, \u0161kola<\/h3>\n<h3>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 V\u00a0ktor\u00e9 dni m\u00e1me predmet EPU: p\u00e1rny a\u00a0nep\u00e1rny t\u00fd\u017ede\u0148<\/h3>\n<h3>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 S\u00fahlas so spracovan\u00edm \u00fadajov<\/h3>\n<h3>\u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Odosielacie tla\u010d\u00edtko<\/h3>\n<h3>Podmienky:\u00a0Vytvoren\u00fd dokument umiestnite na svoj blog v\u00a0polo\u017eke PHP ako \u201eZadanie \u010d.12 Tvorba formul\u00e1ra\u201c s\u00a0pln\u00fdm znen\u00edm \u00falohy a\u00a0odkazom na s\u00fabor\u00a0<em>formular.php<\/em><\/h3>\n<p><strong>Te\u00f3ria :<\/strong><\/p>\n<p>Pre ka\u017ed\u00fd odosielan\u00fd formul\u00e1r je treba presne ur\u010di\u0165, akou met\u00f3dou maj\u00fa by\u0165 d\u00e1ta odoslan\u00e9. Pokia\u013e \u017eiadnu met\u00f3du neur\u010d\u00edte v\u017edy bud\u00fa d\u00e1ta odosielan\u00e9 prednastavenou (implicitnou) met\u00f3dou\u00a0<em>GET.<\/em>\u00a0Met\u00f3du prenosu ur\u010d\u00edte v parametri\u00a0<strong>METHOD<\/strong>\u00a0t\u00e1gu\u00a0<strong>FORM<\/strong>. Naj\u010dastej\u0161ie sa vyu\u017e\u00edvaj\u00fa nasleduj\u00face met\u00f3dy:<\/p>\n<ul>\n<li><strong>HEAD<\/strong>\u00a0\u2013 sl\u00fa\u017ei v\u00fdlu\u010dne na z\u00edskavanie inform\u00e1cie o dokumente, nie jeho obsah.<\/li>\n<li><strong>GET<\/strong>\u00a0\u2013 prednastaven\u00e1 (implicitn\u00e1) met\u00f3da. V\u0161etky zadan\u00e9 d\u00e1ta formul\u00e1ra prid\u00e1va k re\u0165azci po\u017eiadaviek (URL)<\/li>\n<li><strong>POST<\/strong>\u00a0\u2013 d\u00e1ta s\u00fa odosielan\u00e1 op\u00e4\u0165, ako s\u00fa\u010das\u0165 tela (HTTP), ale nie s\u00fa s\u00fa\u010das\u0165ou URL, ako v met\u00f3de GET. Met\u00f3da\u00a0<em>POST\u00a0<\/em>umo\u017e\u0148uje posiela\u0165 v\u00e4\u010d\u0161ie mno\u017estvo d\u00e1t ne\u017e met\u00f3da\u00a0<em>GET\u00a0<\/em>. \u010eal\u0161ou d\u00f4le\u017eitou odli\u0161nos\u0165ou je, \u017ee\u00a0<em>POST<\/em>\u00a0v\u017edy odosiela po\u017eiadavku serveru a neh\u013ead\u00e1 mo\u017en\u00fa odpove\u010f vo vyrovn\u00e1vacej pam\u00e4ti. Z tohto d\u00f4vodu je met\u00f3da\u00a0<em>POST\u00a0<\/em>oproti\u00a0<em>GET<\/em>\u00a0omnoho pomal\u0161ia, ale zato bude obsahova\u0165 zaru\u010dene aktu\u00e1lnu odpove\u010f.<\/li>\n<\/ul>\n<h2>1. Met\u00f3da GET a tvar URL<\/h2>\n<p>Ako bolo u\u017e uveden\u00e9 v\u0161etky d\u00e1ta pri tejto met\u00f3de s\u00fa\u00a0 vlo\u017een\u00e9 do re\u0165azca po\u017eiadaviek. D\u00e1ta s\u00fa teda vidite\u013en\u00e9, ako ktor\u00e1ko\u013evek in\u00e1 \u010das\u0165 URL, preto nie je vhodn\u00e9 pou\u017e\u00edva\u0165 t\u00fato met\u00f3du v pr\u00edpade ch\u00falostiv\u00fdch d\u00e1t, ako s\u00fa hesl\u00e1, \u010d\u00edsla \u00fa\u010dtov a podobne.<\/p>\n<p>Pri tejto met\u00f3de si treba premyslie\u0165, \u010di nebude vadi\u0165 pr\u00edpadn\u00e1 neaktu\u00e1lnos\u0165 odpovede. Pokia\u013e toti\u017e vo vyrovn\u00e1vacej pam\u00e4ti ostane star\u0161\u00ed v\u00fdsledok pre rovnak\u00e9 hodnoty URL m\u00f4\u017eu by\u0165 tieto v\u00fdsledky zobrazen\u00e9 bez skuto\u010dn\u00e9ho dotazu na server. \u010eal\u0161ou nev\u00fdhodou je obmedzen\u00e9 mno\u017estvo d\u00e1t, ktor\u00e9 ide pripoji\u0165 za po\u017eadovan\u00fa adresu.<\/p>\n<p>Tu vid\u00edte pr\u00edklad URL formul\u00e1ra odoslan\u00e9ho met\u00f3dou GET<\/p>\n<p><a href=\"http:\/\/sosthe.info.tm\/wp-content\/uploads\/2015\/02\/formulare_odosielanie_get.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-324\" src=\"http:\/\/sosthe.info.tm\/wp-content\/uploads\/2015\/02\/formulare_odosielanie_get.jpg\" alt=\"formulare_odosielanie_get\" width=\"284\" height=\"28\" \/><\/a><\/p>\n<p>Prv\u00e1 \u010das\u0165\u00a0<strong>http:\/\/localhost\u00a0<\/strong>ur\u010duje webov\u00fd server, ktor\u00fd m\u00e1 spracova\u0165 po\u017eiadavku.\u00a0<strong>test\u00a0<\/strong>je n\u00e1zov zlo\u017eky, v ktorej je ulo\u017een\u00fd s\u00fabor s formul\u00e1rom v na\u0161om pr\u00edpade\u00a0<strong>get.php<\/strong>. Znak\u00a0<strong>?<\/strong>\u00a0odde\u013euje cestu s\u00faboru od pripojite\u013en\u00fdch d\u00e1t. D\u00e1ta s\u00fa k URL prip\u00e1jan\u00e9 v p\u00e1roch<strong>\u00a0k\u013eu\u010d=hodnota\u00a0<\/strong>oddelen\u00fdch\u00a0<strong>&amp;.\u00a0<\/strong>\u010eal\u0161ie znaky, ktor\u00e9 sa v URL \u010dasto objavuj\u00fa s\u00fa znaky\u00a0<strong>+<\/strong>\u00a0a\u00a0<strong>#.\u00a0<\/strong>Znak + nahradzuje medzery a znak # sa pou\u017e\u00edva ako odkaz na ur\u010dit\u00e9 miesto dokumentu.<\/p>\n<h2>2. Prvky formul\u00e1rov<\/h2>\n<p><strong>Textov\u00e9 pole\u00a0<em>(TYPE=TEXT)<\/em><\/strong><\/p>\n<pre>&lt;input type=text name=pozdrav value=\"Nap\u00ed\u0161 po\u017eadovan\u00fd pozdrav\" size=60\"&gt;<\/pre>\n<p><strong>Tla\u010d\u00edtko na odosielanie formul\u00e1ra\u00a0<em>(TYPE=SUBMIT)<\/em><\/strong><\/p>\n<pre>&lt;input type=submit value=\"Odosla\u0165\"&gt;<\/pre>\n<p><strong>Tla\u010d\u00edtko na resetovanie formul\u00e1ra\u00a0<em>(TYPE=RESET)<\/em><\/strong><\/p>\n<pre>&lt;input type=reset value=\"Obnovi\u0165\"&gt;<\/pre>\n<p><strong>Be\u017en\u00e9 tla\u010d\u00edtko\u00a0<em>(TYPE=BUTTON)<\/em><\/strong><\/p>\n<pre>&lt;input type=button value=\"Sk\u00fas stla\u010di\u0165\"&gt;<\/pre>\n<p><strong>Obr\u00e1zkov\u00e9 tla\u010d\u00edtko odosielania\u00a0<em>(TYPE=IMAGE)<\/em><\/strong><\/p>\n<pre>&lt;input type=image name=obrazok src=picture\/php.gif&gt;<\/pre>\n<p><strong>Heslo\u00a0<em>(TYPE=PASSWORD)<\/em><\/strong><\/p>\n<pre>&lt;input type=password name=heslo value=abc&gt;<\/pre>\n<p><strong>Prep\u00ednacie tla\u010d\u00edtka\u00a0<em>(TYPE=RADIO)<\/em><\/strong><\/p>\n<pre> &lt;input type=radio name=predmet value=\"Matematika\"&gt; Matematika &lt;br&gt;\r\n &lt;input type=radio name=predmet value=\"Fyzika\" checked&gt; Fyzika &lt;br&gt;\r\n &lt;input type=radio name=predmet value=\"Ekonomika\"&gt; Ekonomika &lt;br&gt;<\/pre>\n<p><strong>Za\u0161krt\u00e1vacie pole\u00a0<em>(TYPE=CHECKBOX)<\/em><\/strong><\/p>\n<pre> &lt;input type=checkbox name=predmet[] value=\"Matematika\"&gt; Matematika &lt;br&gt;\r\n &lt;input type=checkbox name=predmet[] value=\"Fyzika\" checked&gt; Fyzika &lt;br&gt;\r\n &lt;input type=checkbox name=predmet[] value=\"Ekonomika\"&gt; Ekonomika &lt;br&gt;<\/pre>\n<p><strong>Skryt\u00e9 pole formul\u00e1ra\u00a0<em>(TYPE=HIDDEN)<\/em><\/strong><\/p>\n<pre>&lt;input type=hidden name=\"n\u00e1zov\" value=\"hodnota\"&gt;<\/pre>\n<p><strong>S\u00fabor\u00a0<em>(TYPE=FILE)<\/em><\/strong><\/p>\n<pre>&lt;input type=file name=obr&gt;<\/pre>\n<h2>3. Zoskupovanie formul\u00e1rov\u00fdch prvkov<\/h2>\n<p>Ak sa chyst\u00e1te vytv\u00e1ra\u0165 rozsiahlej\u0161ie formul\u00e1re, pr\u00eddu v\u00e1m ur\u010dite vhod elementy\u00a0<strong>FIELDSET\u00a0<\/strong>a\u00a0<strong>LEGEND<\/strong>, ktor\u00e9 v\u00e1m umo\u017enia rozdeli\u0165 formul\u00e1r na preh\u013eadnej\u0161ie \u010dasti. T\u00e1g\u00a0<em>GIELDSET\u00a0<\/em>je p\u00e1rov\u00fd a ohrani\u010d\u00ed skupinu prvkov tenkou \u010diarou. Nadpis takejto skupiny m\u00f4\u017ete vytvori\u0165 druh\u00fdm t\u00e1gom\u00a0<em>LEGEND<\/em>, ktor\u00fd je tie\u017e p\u00e1rov\u00fd. V t\u00e1gu\u00a0<em>LEGEND<\/em>\u00a0je zaveden\u00fd atrib\u00fat\u00a0<strong>accesskey,<\/strong>\u00a0ktor\u00fd umo\u017e\u0148uje stla\u010den\u00edm kl\u00e1ves\u00a0<strong>ALT + nastaven\u00fd kl\u00e1ves<\/strong>\u00a0aktivova\u0165 pr\u00edslu\u0161n\u00fa skupinu (ak t\u00fato funkciu podporuje prehliada\u010d).<\/p>\n<p><strong>Zoznam<\/strong><\/p>\n<p>Zoznam sa pou\u017e\u00edva, ak chceme u\u017e\u00edvate\u013eovi pon\u00faknu\u0165 jednu, alebo viac polo\u017eiek prednastaven\u00e9ho zoznamu polo\u017eiek. Pou\u017eit\u00edm atrib\u00fatu\u00a0<strong>multiple<\/strong>\u00a0umo\u017en\u00edme viacn\u00e1sobn\u00fd v\u00fdber.<\/p>\n<pre>&lt;select size=\"1\" name=\"zoznam\"&gt;\r\n &lt;option&gt;Renault&lt;\/option&gt;\r\n &lt;option selected&gt;Opel&lt;\/option&gt;\r\n &lt;option&gt;Fiat&lt;\/option&gt;\r\n &lt;option&gt;\u0160koda&lt;\/option&gt;\r\n &lt;\/select&gt;<\/pre>\n<p><strong>Hierarchick\u00fd zoznam<\/strong><\/p>\n<p>Pokia\u013e do zoznamu uvedieme ve\u013ek\u00e9 mno\u017estvo polo\u017eiek stane sa v\u00fdber dos\u0165 nepreh\u013eadn\u00fd. Z tohto d\u00f4vodu je zaveden\u00fd p\u00e1rov\u00fd t\u00e1g\u00a0<strong>OPTGROUP<\/strong>, ktor\u00fd umo\u017en\u00ed hierarchick\u00e9 roz\u010dlenenie zoznamu do preh\u013eadnej\u0161\u00edch skup\u00edn. Text ur\u010duj\u00faci n\u00e1zov skupiny je uveden\u00ed pomocou atrib\u00fatu\u00a0<strong>label.<\/strong><\/p>\n<p>Z\u00e1kladn\u00e1 syntax:<\/p>\n<pre>&lt;select&gt;\r\n &lt;optgroup label=n\u00e1zov 1. skupiny&gt;\r\n &lt;option&gt;Polo\u017eka 1&lt;\/option&gt;\r\n &lt;option&gt;Polo\u017eka n&lt;\/option&gt;\r\n &lt;\/optgroup&gt;\r\n &lt;optgroup label=n\u00e1zov 2. skupiny&gt;\r\n &lt;option&gt;Polo\u017eka 1&lt;\/option&gt;\r\n &lt;option&gt;Polo\u017eka n&lt;\/option&gt;\r\n &lt;\/optgroup&gt;\r\n &lt;select&gt;<\/pre>\n<p><strong>Viacriadkov\u00fd text<\/strong><\/p>\n<pre>&lt;textarea name=\"textove pole\" rows=\"4\" cols=\"24\"&gt;Tu nap\u00ed\u0161te va\u0161e pripomienky&lt;\/textarea&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Postup pri pr\u00e1ci :\u00a0<\/strong>Vytvorte html dokument a\u00a0php skript tak, aby sp\u013a\u0148al podmienky \u00falohy<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e9ma:\u00a0Tvorba formul\u00e1ra \u00daloha:\u00a0Vytvorte registra\u010dn\u00fd formul\u00e1r ako HTML dokument s n\u00e1zvom\u00a0formular.html, ktor\u00fd bude obsahova\u0165 polo\u017eky pod\u013ea zadania a po odoslan\u00ed ktor\u00e9ho sa zobraz\u00ed PHP script\u00a0udaje.php\u00a0kde sa zobrazia v\u0161etky polo\u017eky formul\u00e1ra. Zadanie \u00falohy:\u00a0Registra\u010dn\u00fd formul\u00e1r m\u00e1 obsahova\u0165 nasleduj\u00face polo\u017eky: \u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Osobn\u00e9 \u00fadaje: Meno, priezvisko, d\u00e1tum narodenia, miesto narodenia \u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Bydlisko: ulica, \u010d\u00edslo popisn\u00e9, mesto, PS\u010c \u2013\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u010eal\u0161ie \u00fadaje: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-384","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=384"}],"version-history":[{"count":1,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/384\/revisions"}],"predecessor-version":[{"id":385,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/384\/revisions\/385"}],"wp:attachment":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}