{"id":2365,"date":"2019-07-05T15:43:42","date_gmt":"2019-07-05T14:43:42","guid":{"rendered":"https:\/\/www.webhostingsrbija.rs\/?p=1485"},"modified":"2023-03-15T13:03:52","modified_gmt":"2023-03-15T12:03:52","slug":"kako-da-kreirate-kontakt-formu","status":"publish","type":"post","link":"https:\/\/www.webhostingsrbija.rs\/en\/kako-da-kreirate-kontakt-formu\/","title":{"rendered":"How to create a contact form"},"content":{"rendered":"<p>Ovde odradi\u0107emo dva scenarija. Prvi je onaj lak\u0161i a to je putem WordPress-a.<br>Kada je u pitanju wordpress postoji plugin za to i tu se ne\u0107emo previ\u0161e baviti. Plugin je&nbsp;<a href=\"https:\/\/wordpress.org\/plugins\/contact-form-7\/\" target=\"_blank\" rel=\"noopener\">Contact Form 7.<\/a>&nbsp; &nbsp;Nakon instalcije i pode\u0161avanja morate da postaite u svom wordpressu SMTP konekciju kako bi va\u0161i emailovi stizali bez problema. A to mo\u017eete da uradite pomo\u0107u na\u0161eg drugog \u010dlanka <a href=\"https:\/\/www.webhostingsrbija.rs\/smtp-i-wordpress\/\">SMTP i WordPress.<\/a><\/p>\n<p>Onaj drugi deo koji je &#8222;te\u017ei&#8220; jeste za HTML sajtove ili one koji imaju kontakt stranu koja je ru\u010dno ura\u0111ena i ne koriste ni jedan CMS.<\/p>\n<p>Pre svega potrebno je da skinete <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\" target=\"_blank\" rel=\"noopener\">PHPMailer<\/a> klikom na &#8222;Clone or downlaod&#8220; a zatim na &#8222;Download ZIP&#8220;.<\/p>\n<p>Kao na slici ispod<\/p>\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.webhostingsrbija.rs\/wp-content\/uploads\/2019\/07\/phpmailer.png\" alt=\"\" class=\"wp-image-1486\" title=\"\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nakon ovoga je potrebno da taj zip fajl postavite na svoj hosting nalog.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cPanel &gt; File Manager &gt; otvorite public_html folder i unutar njega opcija &#8222;upload&#8220;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kada ste zavr\u0161ili upload onda desni klik na zip fajl i extract kao na slici:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.webhostingsrbija.rs\/wp-content\/uploads\/2019\/07\/phpmailer2.png\" alt=\"\" class=\"wp-image-1487\" title=\"\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sada kada smo i to raspakovali onda je potrebno da uradimo na\u0161u stranu.<br>Na\u0161 primer ima slede\u0107a polja:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;form action=\"kontaktforma.php\" method=\"post\"&gt;\n    Ime:&lt;br&gt;\n    &lt;input type=\"text\" id=\"fname\" name=\"firstname\" placeholder=\"Your name..\"&gt;&lt;br&gt;\n    Prezime:&lt;br&gt;\n    &lt;input type=\"text\" id=\"lname\" name=\"lastname\" placeholder=\"Your last name..\"&gt;&lt;br&gt;\n    Email:&lt;br&gt;\n    &lt;input type=\"text\" id=\"email\" name=\"email\"&gt;&lt;br&gt;\n    Text:&lt;br&gt;\n    &lt;textarea id=\"tekst\" name=\"tekst\" placeholder=\"Write something..\" style=\"height:200px\"&gt;&lt;\/textarea&gt;&lt;br&gt;\n    &lt;input type=\"submit\" value=\"Po\u0161alji\"&gt;&lt;br&gt;\n  &lt;\/form&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Va\u0161a kontakt forma svakako izgleda druga\u010dije i ima druga\u010dije nazive input elemanata i vi\u0161e ili manje polja, stim nemojte bukvalno da copy\/paste ve\u0107 mini pode\u0161avanja koja su vezana za va\u0161u kontakt formu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Klju\u010dna stvar ovde jeste opcija u &lt;form&gt; a to je &#8222;action=&#8220;kontaktforma.php&#8220; a to znaci da kada se klikne na &#8222;Po\u0161alji&#8220; time se \u0161alje sadr\u017eaj polja na tu php stranu u na\u0161em slu\u010daju kontaktforma.php (mo\u017ee biti ista strana a mo\u017ee biti i eksterna).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sada ide pode\u0161avanj SMTP i PHPmailera za podatke koje smo poslali pomo\u0107u HTML kontakt forme.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PHPMailer izgleda ovako:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\r\n\/\/Import PHPMailer classes into the global namespace\r\n\/\/These must be at the top of your script, not inside a function\r\nuse PHPMailer\\PHPMailer\\PHPMailer;\r\nuse PHPMailer\\PHPMailer\\SMTP;\r\nuse PHPMailer\\PHPMailer\\Exception;\r\n\r\n\/\/Load Composer's autoloader\r\nrequire 'vendor\/autoload.php';\r\n\r\n\/\/Create an instance; passing `true` enables exceptions\r\n$mail = new PHPMailer(true);\r\n\r\ntry {\r\n    \/\/Server settings\r\n    $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      \/\/Enable verbose debug output\r\n    $mail->isSMTP();                                            \/\/Send using SMTP\r\n    $mail->Host       = 'smtp.example.com';                     \/\/Set the SMTP server to send through\r\n    $mail->SMTPAuth   = true;                                   \/\/Enable SMTP authentication\r\n    $mail->Username   = 'user@example.com';                     \/\/SMTP username\r\n    $mail->Password   = 'secret';                               \/\/SMTP password\r\n    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            \/\/Enable implicit TLS encryption\r\n    $mail->Port       = 465;                                    \/\/TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`\r\n\r\n    \/\/Recipients\r\n    $mail->setFrom('from@example.com', 'Mailer');\r\n    $mail->addAddress('joe@example.net', 'Joe User');     \/\/Add a recipient\r\n    $mail->addAddress('ellen@example.com');               \/\/Name is optional\r\n    $mail->addReplyTo('info@example.com', 'Information');\r\n    $mail->addCC('cc@example.com');\r\n    $mail->addBCC('bcc@example.com');\r\n\r\n    \/\/Attachments\r\n    $mail->addAttachment('\/var\/tmp\/file.tar.gz');         \/\/Add attachments\r\n    $mail->addAttachment('\/tmp\/image.jpg', 'new.jpg');    \/\/Optional name\r\n\r\n    \/\/Content\r\n    $mail->isHTML(true);                                  \/\/Set email format to HTML\r\n    $mail->Subject = 'Here is the subject';\r\n    $mail->Body    = 'This is the HTML message body &lt;b>in bold!&lt;\/b>';\r\n    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';\r\n\r\n    $mail->send();\r\n    echo 'Message has been sent';\r\n} catch (Exception $e) {\r\n    echo \"Message could not be sent. Mailer Error: {$mail->ErrorInfo}\";\r\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sada malo poja\u0161njenje u vezi ovog koda:<br>1* &#8211; $_POST[&#8217;email&#8217;] je email adresa koju je va\u0161 posetilac uneo iz kontakt forme ovo [&#8217;email&#8217;] je u stvari &lt;input name=&#8217;email&#8217;&#8230;.&gt; zavisno od vase kontakt forme kako ste nazvali taj input unos.<br>2* &#8211; U ovom redu kada vi kliknete na replay u svom email klijentu ko dobija odgovor uvek je isto kao i onaj ko je poslao kao u na\u0161em primeru.<br>3* &#8211; U ovom redu unosite va\u0161u email adresu odnosno ko prima email iz kontakt forme<br>4*  &#8211; Naslov ovde mo\u017ee i da stoji $_POST[naslov&#8217;] odnosno HTML &lt;input name=&#8217;naslov&#8217;&#8230;&gt; zavisno od vase kontakt forme. Mi u nasem primeru nismo imali polje za naslov.<br>5* &#8211; U ovom redu je tekst bez html-a ve\u0107 \u010dist samo tekst.<br>6* &#8211; Ovde je mogu\u0107e da se i HTML ubaci u sam body emaila jer je ozna\u010deno odmah u slede\u0107em redu da je email HTML (\u0161ta pod ovim podrazumevam wordpress \u010dlanak mo\u017ee slikovito da vam pokaze <a href=\"https:\/\/www.webhostingsrbija.rs\/dizajniran-email-u-wordpress-u\/\">OVDE<\/a>) <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nakon ovoga je ostalo samo da izmenite tekst &#8222;Message sent!&#8220; i error u va\u0161e \u0161ta vi \u017eelite da pi\u0161ete i to je sve. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ispod mo\u017eete da vidite kako smo mi i HTML formu i PHP stavili u jednom fajlu koji se zove kontaktforma.php <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\Exception;\n\nrequire '\/home\/username\/public_html\/PHPMailer-master\/src\/Exception.php';\nrequire '\/home\/username\/public_html\/PHPMailer-master\/src\/PHPMailer.php';\nrequire '\/home\/username\/public_html\/PHPMailer-master\/src\/SMTP.php';\n\n\/\/Create an instance; passing `true` enables exceptions\n$mail = new PHPMailer(true);\n\ntry {\n    \/\/Server settings\n    $mail->SMTPDebug = false;                      \/\/Enable verbose debug output\n    $mail->isSMTP();                                            \/\/Send using SMTP\n    $mail->Host       = 'mail.domen.tld';                     \/\/Set the SMTP server to send through\n    $mail->SMTPAuth   = true;                                   \/\/Enable SMTP authentication\n    $mail->Username   = 'username@domen.tld';                     \/\/SMTP username\n    $mail->Password   = 'lozinka od email adrese iznad';                               \/\/SMTP password\n    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;            \/\/Enable implicit TLS encryption\n    $mail->Port       = 587;                                    \/\/TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`\n\n    \/\/Recipients\n    $mail->setFrom($_POST&#91;'email'], $_POST&#91;'firstname'].\" \".$_POST&#91;'lastname']); \n    $mail->addAddress('username@domen.tld');     \/\/unosite email adresu na koju ce stizati poruke sa konakt forme\n    $mail->addReplyTo($_POST&#91;'email'], $_POST&#91;'firstname'].\" \".$_POST&#91;'lastname']);\n\n\n    \/\/Content\n    $mail->isHTML(true);                                  \/\/Set email format to HTML\n    $mail->Subject = \"Kontakt sa sajta\"; \/\/ukoliko imate polje za naslov onda unesite ovde\n    $mail->Body    = $_POST&#91;'tekst'];\n    $mail->AltBody = $_POST&#91;'tekst'];\n\n    $mail->send();\n    echo 'Message has been sent';\n} catch (Exception $e) {\n    echo \"Message could not be sent. Mailer Error: {$mail->ErrorInfo}\";\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mala napomena, ukoliko nakon postavljanja forme vam sti\u017ee ve\u0107i broj spam mailova na va\u0161u adresu potrebno je da postavite i  <a href=\"https:\/\/www.google.com\/recaptcha\/intro\/v3.html\" target=\"_blank\" rel=\"noopener\">https:\/\/www.google.com\/recaptcha\/intro\/v3.html<\/a> <\/p>\n\r\n","protected":false},"excerpt":{"rendered":"<p>Ovde odradi\u0107emo dva scenarija. Prvi je onaj lak\u0161i a to je putem WordPress-a.Kada je u pitanju wordpress postoji plugin za to i tu se ne\u0107emo previ\u0161e baviti. Plugin je&nbsp;Contact Form 7.&nbsp; &nbsp;Nakon instalcije i pode\u0161avanja morate da postaite u svom wordpressu SMTP konekciju kako bi va\u0161i emailovi stizali bez problema. A to mo\u017eete da uradite [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1488,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[18,21,19],"tags":[],"class_list":["post-2365","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kako","category-email","category-wordpress"],"_links":{"self":[{"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/posts\/2365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/comments?post=2365"}],"version-history":[{"count":2,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/posts\/2365\/revisions"}],"predecessor-version":[{"id":5231,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/posts\/2365\/revisions\/5231"}],"wp:attachment":[{"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/media?parent=2365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/categories?post=2365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/tags?post=2365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}