{"id":412,"date":"2024-03-25T07:06:51","date_gmt":"2024-03-25T06:06:51","guid":{"rendered":"https:\/\/gdm.sosthe.sk\/?page_id=412"},"modified":"2026-05-12T08:59:15","modified_gmt":"2026-05-12T06:59:15","slug":"cvicenie-c-15-vytvorenie-jednoduchej-diskusie","status":"publish","type":"page","link":"https:\/\/gdm.sosthe.sk\/?page_id=412","title":{"rendered":"Cvi\u010denie \u010d.15 &#8211; Vytvorenie jednoduchej diskusie"},"content":{"rendered":"<h3>T\u00e9ma:\u00a0Vytvorenie jednoduchej diskusie<\/h3>\n<h3>\u00daloha: Vytvorte webov\u00fa str\u00e1nku, ktor\u00e1 bude pracova\u0165 ako n\u00e1stenka alebo jednoduch\u00fd chat bez pou\u017eitia datab\u00e1zy. S\u00fabor pre formul\u00e1r pre zad\u00e1vanie koment\u00e1rov sa bude naz\u00fdva\u0165 prispevok.php a s\u00fabor do ktor\u00e9ho bud\u00fa prid\u00e1van\u00e9 koment\u00e1re diskusia.txt<\/h3>\n<h3>Podmienky:\u00a0Vytvoren\u00fd dokument umiestnite na svoj blog v\u00a0polo\u017eke PHP \u201eZadanie \u010d.15 Diskusia\u201c<\/h3>\n<h3>Te\u00f3ria :<\/h3>\n<p>Mo\u017enos\u0165 pou\u017eitia php k\u00f3du, ktor\u00fd nevy\u017eaduje datab\u00e1zu pre prid\u00e1vanie textov\u00fdch spr\u00e1v a koment\u00e1rov spo\u010d\u00edva v tom, \u017ee pridan\u00fd koment\u00e1r cez formul\u00e1r umiestnen\u00fd na konci \u010dl\u00e1nku sa ulo\u017e\u00ed do textov\u00e9ho s\u00faboru a potom sa obsah s\u00faboru prid\u00e1 skriptom do tela webovej str\u00e1nky.<\/p>\n<p>Ako pr\u00edklad si vytvor\u00edme pr\u00e1zdny s\u00fabor\u00a0data.inc\u00a0a druh\u00fd s\u00fabor\u00a0diskusia.php\u00a0bude obsahova\u0165 nasleduj\u00faci skript:<\/p>\n<pre>&lt;!DOCTYPE HTML PUBLIC \"\/\/W3C\/\/DTD HTML 4.01 Transitional\/\/EN\"&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta http-equiv=\"Content-Type\" content=\"text\/html; charset=UTF-8\"&gt;\r\n&lt;title&gt;Diskusia:&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n&lt;?\r\n$meno = $_POST['meno'];\r\n$email = $_POST['email'];\r\n$web = $_POST['web'];\r\n$sprava = $_POST['sprava'];\r\n\r\n$meno=HTMLSpecialChars($meno);\r\n$email=HTMLSpecialChars($email);\r\n$web=HTMLSpecialChars($web);\r\n$sprava=HTMLSpecialChars($sprava);\r\n\r\n$meno=stripslashes($meno);\r\n$email=stripslashes($email);\r\n$web=stripslashes($web);\r\n$sprava=stripslashes($sprava);\r\n\r\n$sprava = str_replace(\"\\n\",\" &lt;br&gt; \", $sprava);\r\n$sprava = substr($sprava, 0, 10000);\r\n\r\n$email_celok=\" | &lt;a href='mailto:$email'&gt;$email&lt;\/a&gt;\";\r\n$web_celok=\" | &lt;a href='$web'&gt;$web&lt;\/a&gt;\";\r\n\r\nif ($web==\"http:\/\/\"){$web_celok=\"\";}\r\nif ($email==\"\"){$email_celok=\"\";}\r\n\r\nif ($sprava!=\"\" and $meno!=\"\"){\r\n$celok=\"&lt;p&gt;Spr\u00e1vu poslal: &lt;strong&gt;$meno&lt;\/strong&gt;$email_celok $web_celok&lt;\/p&gt;&lt;p&gt;$sprava&lt;\/p&gt;&lt;hr&gt;\";\r\n$subor = fopen ('data.inc','a');\r\nfwrite ($subor, $celok);\r\nfclose ($subor);\r\n}\r\n?&gt;\r\n&lt;h1&gt;Diskusia:&lt;\/h1&gt;\r\n&lt;? include \"data.inc\"; ?&gt;\r\n&lt;h2&gt;Pridanie spr\u00e1vy:&lt;\/h2&gt;\r\n&lt;form action=\"diskusia.php\" method=\"post\"&gt;&lt;\/p&gt;\r\n&lt;table&gt;\r\n&lt;tr&gt;&lt;th&gt;*Meno: &lt;\/th&gt;&lt;td&gt;&lt;input type=\"text\" name=\"meno\" maxlength=\"25\"&gt;&lt;\/td&gt;&lt;\/tr&gt;\r\n&lt;tr&gt;&lt;th&gt;E-mail: &lt;\/th&gt;&lt;td&gt;&lt;input type=\"text\" name=\"email\" maxlength=\"25\"&gt; [nepovinn\u00e9]&lt;\/td&gt;&lt;\/tr&gt;\r\n&lt;tr&gt;&lt;th&gt;Web: &lt;\/th&gt;&lt;td&gt;&lt;input type=\"text\" name=\"web\" value=\"http:\/\/\" maxlength=\"30\"&gt; [nepovinn\u00e9]&lt;\/td&gt;&lt;\/tr&gt;\r\n&lt;tr&gt;&lt;th&gt;*Spr\u00e1va: &lt;\/th&gt;&lt;td&gt;&lt;textarea cols=\"60\" rows=\"5\" name=\"sprava\"&gt;&lt;\/textarea&gt;&lt;\/td&gt;&lt;\/tr&gt;\r\n&lt;tr&gt;&lt;th&gt;&lt;\/th&gt;&lt;td&gt;&lt;input type=\"submit\" value=\"Odosla\u0165\"&gt;&lt;\/td&gt;&lt;\/tr&gt;\r\n&lt;\/table&gt;\r\n&lt;\/form&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>Podmienkou spr\u00e1vnej funkcie boardu (koment\u00e1rov) je, aby boli nastaven\u00e9 pr\u00e1va na z\u00e1pis do textov\u00e9ho s\u00faboru na serveri.<\/p>\n<p>Podobnou funkciou ako board je diskusia (chat). Na rozdiel od koment\u00e1ra mus\u00ed umo\u017e\u0148ova\u0165 \u0161trukt\u00farovan\u00e9 vetvenie odpoved\u00ed k jednotliv\u00fdm diskusn\u00fdm t\u00e9mam, \u010do komplikuje v\u00fdsledn\u00fd k\u00f3d, r\u00f4znymi podmienkami a doplnkov\u00fdmi \u00fadajmi. K pr\u00edspevku sa toti\u017e mus\u00ed uvies\u0165 kto komentuje a ak\u00fd predch\u00e1dzaj\u00faci pr\u00edspevok je komentovan\u00fd. Niekedy sa prid\u00e1va aj \u010dasov\u00e1 zna\u010dka a identifik\u00e1tor diskutuj\u00faceho. Mal by tie\u017e obsahova\u0165 mo\u017enos\u0165 moderovania diskusie (cenz\u00faru nevhodn\u00fdch a ur\u00e1\u017eliv\u00fdch pr\u00edspevkov at\u010f.)<\/p>\n<p>\u00daplne jednoduch\u00fd pr\u00edklad z ktor\u00e9ho je jasn\u00fd princ\u00edp diskusie je skript:<\/p>\n<pre>&lt;h2&gt;Diskusia:&lt;\/h2&gt;\r\n &lt;?php\r\n $file = \"diskusia.txt\";\r\n readfile($file); \r\n if (isset($_POST['odoslat']) &amp;&amp; ($_POST['kontrola'] == 2))\r\n {\r\n $fo = fopen($file, \"a\");\r\n if (fwrite($fo, '&lt;p&gt;Od: ' . htmlspecialchars($_POST['autor']) . '&lt;br \/&gt;Titulok: ' . htmlspecialchars($_POST['nadpis']) . '&lt;br \/&gt;&lt;br&gt;Nap\u00edsal: ' . htmlspecialchars($_POST['obsah']) . '&lt;\/p&gt;'));\r\n echo 'Pr\u00edspevok vlo\u017een\u00fd';\r\n fclose($fo);\r\n exit;\r\n }\r\n else\r\n echo 'Zl\u00fd v\u00fdsledok!';\r\n ?&gt;\r\n \r\n &lt;form action=\"prispevok.php\" method=\"post\"&gt;\r\n Autor: &lt;input type=\"text\" name=\"autor\" \/&gt;&lt;br\/&gt;\r\n Nadpis: &lt;input type=\"text\" name=\"nadpis\" \/&gt;&lt;br\/&gt;\r\n Pr\u00edspevok: &lt;textarea name=\"obsah\" cols=\"50\" rows=\"10\"&gt;&lt;\/textarea&gt;&lt;br\/&gt;\r\n Vypo\u010d\u00edtaj 1+1=&lt;input type=\"text\" name=\"kontrola\" \/&gt;&lt;br\/&gt;\r\n &lt;input type=\"submit\" name=\"odoslat\" value=\"OK\"&gt;\r\n &lt;\/form&gt;<\/pre>\n<p>K\u00f3d s formul\u00e1rom ulo\u017ete do s\u00faboru\u00a0<em>prispevok.php<\/em>\u00a0a e\u0161te vytvorte pr\u00e1zdny s\u00fabor\u00a0<em>diskusia.txt<\/em>. Op\u00e4\u0165 ako pri koment\u00e1roch je potrebn\u00e9 nastavi\u0165 pr\u00e1va na serveri pre z\u00e1pis do textov\u00e9ho s\u00faboru, \u010do zvy\u0161uje riziko kompromit\u00e1cie servera. Ove\u013ea pohodlnej\u0161ie a kraj\u0161ie je pou\u017eitie datab\u00e1zy na spr\u00e1vu pr\u00edspevkov v diskusii.<\/p>\n<p>&nbsp;<\/p>\n<h3>Postup pri pr\u00e1ci :\u00a0 Upravte vzorov\u00fd skript tak, aby sp\u013a\u0148al podmienky \u00falohy<\/h3>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e9ma:\u00a0Vytvorenie jednoduchej diskusie \u00daloha: Vytvorte webov\u00fa str\u00e1nku, ktor\u00e1 bude pracova\u0165 ako n\u00e1stenka alebo jednoduch\u00fd chat bez pou\u017eitia datab\u00e1zy. S\u00fabor pre formul\u00e1r pre zad\u00e1vanie koment\u00e1rov sa bude naz\u00fdva\u0165 prispevok.php a s\u00fabor do ktor\u00e9ho bud\u00fa prid\u00e1van\u00e9 koment\u00e1re diskusia.txt Podmienky:\u00a0Vytvoren\u00fd dokument umiestnite na svoj blog v\u00a0polo\u017eke PHP \u201eZadanie \u010d.15 Diskusia\u201c Te\u00f3ria : Mo\u017enos\u0165 pou\u017eitia php k\u00f3du, ktor\u00fd nevy\u017eaduje [&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-412","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/412","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=412"}],"version-history":[{"count":2,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/412\/revisions"}],"predecessor-version":[{"id":493,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/412\/revisions\/493"}],"wp:attachment":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}