{"id":408,"date":"2024-03-18T07:19:55","date_gmt":"2024-03-18T06:19:55","guid":{"rendered":"https:\/\/gdm.sosthe.sk\/?page_id=408"},"modified":"2024-03-18T07:19:55","modified_gmt":"2024-03-18T06:19:55","slug":"cvicenie-c-14-overenie-spravnosti-vyplnenia-formulara","status":"publish","type":"page","link":"https:\/\/gdm.sosthe.sk\/?page_id=408","title":{"rendered":"Cvi\u010denie \u010d.14 &#8211; Overenie spr\u00e1vnosti vyplnenia formul\u00e1ra"},"content":{"rendered":"<h3>T\u00e9ma:\u00a0Overenie spr\u00e1vnosti vyplnenia formul\u00e1ra<\/h3>\n<h3>\u00daloha:\u00a0Formul\u00e1r na odosielanie e-mailu s\u00a0predch\u00e1dzaj\u00faceho cvi\u010denia upravte tak, aby sa pri odosielan\u00ed kontrolovala spr\u00e1vnos\u0165 vyplnenia e-mailovej adresy a\u00a0predmetu. Taktie\u017e pou\u017eite jednoduch\u00fa protispamov\u00fa ochranu pomocou \u201ecapcha\u201c.<\/h3>\n<h3>Podmienky:\u00a0Vytvoren\u00fd dokument umiestnite na svoj blog v\u00a0polo\u017eke PHP \u201eZadanie \u010d.13 Odosielanie e-mailu\u201c ako polo\u017eku \u201eupraven\u00fd skript na odosielanie e-mailu\u201c<\/h3>\n<h3>Te\u00f3ria :<\/h3>\n<p>Minule sme sa venovali vytvoreniu formul\u00e1ra pre odoslanie e-mailovej spr\u00e1vy. Probl\u00e9mom uveden\u00e9ho pr\u00edkladu ale bolo, \u017ee \u00fadaje v spr\u00e1ve nemuseli by\u0165 spr\u00e1vne vyplnen\u00e9, ba polia vo formul\u00e1ri mohli by\u0165 pr\u00e1zdne a e-mail bol napriek tomu odoslan\u00fd. Posielanie nevyplen\u00fdch spr\u00e1v, nespr\u00e1vne vyplnen\u00fdch alebo posielanie spamu s\u00fa v\u0161ak nedovolen\u00e9 a je to potrebn\u00e9 nejako o\u0161etri\u0165. V \u010fal\u0161om uv\u00e1dzame nieko\u013eko pr\u00edkladov ako sa to d\u00e1 v php k\u00f3de o\u0161etri\u0165:<\/p>\n<h5>1. Overenie spr\u00e1vnosti mailovej adresy<\/h5>\n<pre>&lt;?php\r\n if (isset($_POST[\"email\"]))\r\n {\r\n if (eregi(\"^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\\.[a-z]{2,4}$\",$_POST['email']))\r\n echo \"Zadan\u00fd email je OK.\";\r\n else\r\n echo \"Chybn\u00fd email!\";\r\n }\r\n ?&gt;\r\n \r\n &lt;FORM ACTION=\"mail.php\" method=post&gt;&lt;BR&gt;\r\n Zadajte e-mail: &lt;INPUT type=\"text\" name=\"email\"&gt;&lt;br&gt;\r\n &lt;INPUT type=\"submit\" value=\" Odosla\u0165 \"&gt;\r\n &lt;\/FORM&gt;\r\n<\/pre>\n<p>inou variantou m\u00f4\u017ee by\u0165 tento pr\u00edklad:<\/p>\n<pre>&lt;?php\r\n if ($_POST[\"email\"]!=\"\")\r\n {\r\n if (ereg(\"^(.+)@(.+)\\\\.(.+)$\", $_POST[\"email\"]))\r\n echo \"Zadan\u00fd email je OK.\";\r\n else\r\n echo \"Chybn\u00fd email!\";\r\n }\r\n ?&gt;\r\n \r\n &lt;FORM ACTION=\"mail.php\" method=post&gt;&lt;BR&gt;\r\n Zadajte e-mail: &lt;INPUT type=\"text\" name=\"email\"&gt;&lt;br&gt;\r\n &lt;INPUT type=\"submit\" value=\" Odosla\u0165 \"&gt;\r\n &lt;\/FORM&gt;<\/pre>\n<h5>2. Overenie \u010di je vyp\u00edsan\u00fd predmet spr\u00e1vy a ostatn\u00e9 \u00fadaje a jednoduchou antispamovou ochranou tzv. capcha<\/h5>\n<p>formul\u00e1r\u00a0email.php:<\/p>\n<pre>&lt;form action=\"posli.php\" method=\"post\"&gt;\r\n &lt;input name=\"email\" size=\"25\" value=\"V\u00e1\u0161@mail\"&gt;&lt;br&gt;\r\n &lt;input name=\"predmet\" size=\"25\" value=\"Predmet\"&gt;&lt;br&gt;\r\n &lt;input name=\"spam\" size=\"25\"&gt; &lt;strong&gt;= 1 + 1 &lt;\/strong&gt;[antispam. ochrana, nap\u00ed\u0161 v\u00fdsledok]&lt;br&gt;\r\n &lt;textarea name=\"sprava\" rows=\"6\" cols=\"55\"&gt;Spr\u00e1va...&lt;\/textarea&gt;&lt;br&gt;\r\n &lt;input type=\"submit\" value=\"Odosla\u0165\"&gt;\r\n &lt;\/form&gt;<\/pre>\n<p>skript\u00a0posli.php:<\/p>\n<pre>&lt;?php\r\n$predmet = $_POST['predmet'];\r\n$email = $_POST['email'];\r\n$spam = $_POST['spam'];\r\n$sprava = $_POST['sprava'];\r\n\r\nif ($predmet != \"\" and $email != \"\" and $sprava != \"\" and $spam == \"2\")\r\n{\r\nMail(\"mkrupa@epu.sosthe.sk\", $predmet, $sprava, \"From: \". $email);\r\necho \"&lt;p&gt;&lt;strong&gt;V\u00e1\u0161 e-mail bol \u00faspe\u0161ne odoslan\u00fd&lt;\/strong&gt;&lt;\/p&gt;\";\r\n}\r\nelse\r\n{\r\necho \"&lt;p&gt;V\u00e1\u0161 e-mail sa &lt;strong&gt;nepodarilo odosla\u0165!&lt;\/strong&gt; Pravdepodobne ste nevyplnili v\u0161etky \u00fadaje, alebo neviete ko\u013eko je 1 + 1&lt;\/p&gt;\";\r\n}\r\n?&gt;\r\n\r\n<\/pre>\n<h3>Postup pri pr\u00e1ci :\u00a0Upravte vzorov\u00fd skript tak, aby sp\u013a\u0148al podmienky \u00falohy<\/h3>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e9ma:\u00a0Overenie spr\u00e1vnosti vyplnenia formul\u00e1ra \u00daloha:\u00a0Formul\u00e1r na odosielanie e-mailu s\u00a0predch\u00e1dzaj\u00faceho cvi\u010denia upravte tak, aby sa pri odosielan\u00ed kontrolovala spr\u00e1vnos\u0165 vyplnenia e-mailovej adresy a\u00a0predmetu. Taktie\u017e pou\u017eite jednoduch\u00fa protispamov\u00fa ochranu pomocou \u201ecapcha\u201c. Podmienky:\u00a0Vytvoren\u00fd dokument umiestnite na svoj blog v\u00a0polo\u017eke PHP \u201eZadanie \u010d.13 Odosielanie e-mailu\u201c ako polo\u017eku \u201eupraven\u00fd skript na odosielanie e-mailu\u201c Te\u00f3ria : Minule sme sa venovali vytvoreniu [&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-408","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/408","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=408"}],"version-history":[{"count":1,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/408\/revisions"}],"predecessor-version":[{"id":409,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/408\/revisions\/409"}],"wp:attachment":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}