Profruit banner

Умен звънец в openHAB

16 декември 2023

Телефонът е винаги с мен и сега, където и да се намирам получавам известие от openHAB, че някой е позвънил и чака пред вратата. А ако ме няма вкъщи става ясно часа и датата на последното позвъняване.

Tasmota Multipress

30 септември 2023

Идеята е Sonoff Touch T1 US 2 в салона, да управлява освен своето осветление и това в кухнята, а още вентилатора.

DIY 12V 1A WiFi Router UPS

22 април 2023

При поредно прекъсване на захранването вкъщи, батерията на нoтбука и двата UPS автоматично превключват на аварийно захранване и едновременно полита съобщение за конфуза

Zigbee2MQTT клониране

21 януари 2023

... как да клонираме съществуваща настройка на Zigbee2MQTT без да се налага последвало интервю на zigbee-устройствата.

LD2410 - бюджетен датчик присъствие в openHAB

11 февруари 2023

Цената на HLK-LD2410 зададе име на поредната тема в моя блог. С негова помощ се постига "народен" датчик присъствие в домашната автоматизация. . ...

Младият сайтостроител прохожда с сайтове, които разполага на първо време на свободни площадки. Усвоявайки това дело настъпва момент за добавяне на контактна форма. Контактната форма е нужен инструмент за обратна връзка с посетителя. Чрез нея сайтостроителят дава възможност на всеки посетител, да отправя своите отзиви към пощенската кутия на притежателя на сайта. Два са съществените проблема, които възникват успоредно с тази нужда. Уеб-хостът не поддържа PHP или самият сайтостроител не го владее.

Едно от най-мощните средства на РНР е възможността за автоматическо изпращане на писма по електронната поща, обхождайки използване на външни програми или утилити. Функцията за изпращане е вградена в РНР.

Логично погледнато нашият сайтостроител преглежда резултатите на Google по въпроса и попада на ресурс, предлагащ след стандартна регистрация код за контактна форма. Кодът се вгражда чрез рамка (iframe). Подобно предложение идва от emailmeform.com. Проблемът е, че подобен ход не прави нещата профи. Трудно се моделира/преправя визията. При непопълнени полета и опит за изпращане, формата прехвърля на своя сайт. Не става ясно колекционира ли тя адресите на посетителите, от което страда доверието към сайта на нашия сайтостроител.


Контактна форма


contact form




Как да направя контактна форма за моя сайт


Преди всичко е необходим хост поддържащ РНР. Просто ще впрегнем възможността на РНР-хоста, да работи за нас.

След това от freecontactform изтегляме архива с формата. Това е тя!
Download Contact Form Lite


Изтегленият архив отвътре изглежда така.

contact form

contactform e html - документ, съдържащ формата.
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 може да постигнете пренасочване и решението оставам по ваша преценка.

Недостатък на формата е, че няма капча сверяване срещу ботове. Анализ сочи, че капчата убива мераци за писане и преглътваме тази "обида".





до нови срещи   ^.^

17.04.2010  profruit 

|

4 Response to "Контактна форма за вашия сайт"

  1. Admin Said,

    Браво, човек, мисля, че съм възхитен от тоя блог. За пръв път попадам блог, който да харесам наистина и инфото да е полезно. ..направо линк от мен :)

    Поздрави :)

     

  2. Niandre Said,

    Здравейте,
    Първо благодаря за полезната статия. Имам обаче един проблем, с който не мога да се справя - текстът, написна на кирилица в контактната форма, излиза на маймуница в имейла. Бихте ли ме посаветвали как да се справя с този проблем.
    ПП - кодировката е UTF-8

     

  3. Profruit Said,

    Формата за две години е претърпяла обновления, което е ново и за мен. От лаконичното ви обяснение не става ясно какво точно сте постигнали.

    ОК. Отворете файл freеcontactformsettings.php и се спуснете в дъното. Намерете променлива $headers = бла-бла-бла; и на нов ред добавете това допълнение

    $headers .= "Content-Type: text/plain; charset=utf-8";

    Опитайте, според мен ще работи.
    Прочете тема "Функция mail()", част "Пример за изпращане на прост e-mail", ще ви е от полза.

     

  4. Niandre Said,

    Благодаря за помощта. Този код свърши чудесна работа и сега кирилицата се чете без проблем.

    Хубава вечер!

     

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: openHAB, Ubuntu, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога