Едно от най-мощните средства на РНР е възможността за автоматическо изпращане на писма по електронната поща, обхождайки използване на външни програми или утилити. Функцията за изпращане е вградена в РНР.
Логично погледнато нашият сайтостроител преглежда резултатите на Google по въпроса и попада на ресурс, предлагащ след стандартна регистрация код за контактна форма. Кодът се вгражда чрез рамка (iframe). Подобно предложение идва от emailmeform.com. Проблемът е, че подобен ход не прави нещата профи. Трудно се моделира/преправя визията. При непопълнени полета и опит за изпращане, формата прехвърля на своя сайт. Не става ясно колекционира ли тя адресите на посетителите, от което страда доверието към сайта на нашия сайтостроител.
Контактна форма
Как да направя контактна форма за моя сайт
След това от freecontactform изтегляме архива с формата. Това е тя!
Download Contact Form Lite
thankyou e html - документ, изразяващ благодарност.
lite_validation е java script - файл, следящ за попълване на полетата.
lite_styles е css - файл, задаващ облика на формата.
lite_process е php - файл, изпращащ писмата до вас.
lite_settings е php - файл, в когото настройвате вашите данни.
Последователност за направа на контактната форма.
- Отваряте с текстови редактор lite_settings.php
<?php
$email_to = "youremailaddress@yourdomain.com"; // your email address
$email_subject = "Contact Form Message"; // email subject line
$thankyou = "thankyou.htm"; // thank you page
?> - На мястото на youremailaddress@yourdomain.com пишете реален ваш адрес, на когото ще получавате писмата. Contact Form Message ще бъде заглавието на всяко пристигнало писмо. Оставете така. На следващия ред стои thankyou.htm. При нужда преправете разширението на html. На практика това е пътя към документа, изразяващ благодарност. Той се показва след като посетителя изпрати писмо. Съхранете измененията.
Файл lite_process.php оставете непроменен. Той добавя в самото начало lite_settings.php и обработва заявката от формата. - Качвате файлове lite_process.php и lite_settings.php в обща директория.
- Отваряте html - документ contactform и копирате формата в свой такъв файл. Полученият файл добавяте в съществуващия ви сайт, сочен от менюто под бутон "Контакти". Намерете следния текст action="lite_process.php". Поставете в кавичките абсолютния адрес до същия файл, ако е разположен на друг сървър.
Необходимо е да подключите още пътищата до стиловете и java script - файл в шапката на contactform. Примерно чрез този код:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<title>контактна форма</title>
<meta name="keywords" content="контактна форма за вашия сайт">
<script src="validation.js"></script><script>
required.add('Full_Name','NOT_EMPTY','Вашето име е');
required.add('Email_Address','EMAIL','Вашия Emai е');
required.add('Your_Message','NOT_EMPTY','Съобщение е')
</script>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
Може да промените charset=UTF-8, но не забравяйте да изключите BOM. - lite_styles.css е файл, който ви дава възможност да моделирате формата по ваш вкус. Размер на полетата, отстъп, гарнитура шрифт и нейн размер. Тук опира до вкус и опит от ваша страна.
- thankyou.html носи посланието на благодарността и той се управлява от lite_settings.php. Въпрос на импровизация е как точно ще изглежда. Бих ви препоръчал да добавите пренасочване (redirect) след определено време. Чрез java, meta, или php може да постигнете пренасочване и решението оставам по ваша преценка.
Недостатък на формата е, че няма капча сверяване срещу ботове. Анализ сочи, че капчата убива мераци за писане и преглътваме тази "обида".
до нови срещи ^.^
Браво, човек, мисля, че съм възхитен от тоя блог. За пръв път попадам блог, който да харесам наистина и инфото да е полезно. ..направо линк от мен :)
Поздрави :)
Здравейте,
Първо благодаря за полезната статия. Имам обаче един проблем, с който не мога да се справя - текстът, написна на кирилица в контактната форма, излиза на маймуница в имейла. Бихте ли ме посаветвали как да се справя с този проблем.
ПП - кодировката е UTF-8
Формата за две години е претърпяла обновления, което е ново и за мен. От лаконичното ви обяснение не става ясно какво точно сте постигнали.
ОК. Отворете файл freеcontactformsettings.php и се спуснете в дъното. Намерете променлива $headers = бла-бла-бла; и на нов ред добавете това допълнение
$headers .= "Content-Type: text/plain; charset=utf-8";
Опитайте, според мен ще работи.
Прочете тема "Функция mail()", част "Пример за изпращане на прост e-mail", ще ви е от полза.
Благодаря за помощта. Този код свърши чудесна работа и сега кирилицата се чете без проблем.
Хубава вечер!