Как сделать контактную форму на сайте

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

Очень часто на сайтах и блогах мы видим формы для отправки сообщений автору или администратору.

Почему люди просто не пишут свой ​​e-mail? На это могут быть разные причины, прежде всего, это защита от спама, также бывает что не хотят «светить» свой ​​мейл в Интернете или просто нравится дизайн контактной формы.

Итак, как сделать контактную форму на своем сайте?

Многие системы управления сайтом, например CMS Drupal, имеют встроенный функционал контактной формы и можно воспользоваться им.

WordPress не имеет такой формы в стандартном комплекте, зато есть хороший плагин Contact Form 7, установив который Вы получите неплохую контактную форму. Скачать плагин можно здесь.

На данном блоге используется именно такая форма и посмотреть, как она выглядит, можете в разделе Контакты.

Если нет возможности воспользоваться средствами CMS для создания контактной формы, или сайт написан "вручную" на html, или же у Вас какие-то особые требования к ней, тогда можно найти какой-нибудь готовый скрипт или написать код вручную.

Относительно готовых скриптов, то очень неплохой вариант, на мой взгляд, php-скрипт "Форма 2.0 , который можно скачать отсюда. Данная форма является достаточно простой в установке, не использует базу данных, имеет админ-панель с гибкими настройками, содержит каптчу для защиты от спама и даже позволяет передавать файлы.

Внешний вид формы можно легко вписать в дизайн Вашего сайта.

И, наконец, рассмотрим простой php-код, который позволяет разместить на странице сайта контактную форму.

<?php
if (isset($_POST['act'])&& $_POST['act']=='act'){
$name=$_POST['name'];
$email=$_POST['email'];
$tema = $_POST['tema'];
$mes=$_POST['mes'];
$to = "vash_email@gmail.com";
$date=date('d M Y, H:i:s');
$str=$date."nПишет ".$name." Его email ".$email."n".$mes;
$m=@mail( $to, $tema, $str, "From: MySite");
if(!$m)exit("<p align=center>Ошибка! Попробуйте еще раз<br><br><INPUT TYPE='button' VALUE='НАЗАД' onClick='history.go(-1)'>
<td align=center></td></tr><tr></tr></table>");else
exit("<p align=center>Ваше письмо отправлено!<br><br><INPUT TYPE='button' VALUE='НАЗАД' onClick='history.go(-1)'>
<td align=center></td></tr><tr></tr></table>");
}else{
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
Ваше имя: <input type="text" name="name"><br>
e-mail: <input type="text" name="email"><br>
Тема письма: <input type="text" name="tema"><br><br>
Текст письма:<br>
<textarea name="mes" rows=5 cols=60 ></textarea><br><br>
<input type="hidden" name="act" value="act">
<input type="submit" name="submit" value="Отправить">
<input type="reset" name="reset" value="Очистить">
</form></center>
<?php
}
?>

Посмотреть, как выглядит такая форма, можно здесь: http://map.lviv.ua/mail.html.

Для того, чтобы код корректно заработал, необходимо прописать в нем Ваш email вместо vash_email@gmail.com. Также вместо MySite можно написать название сайта, чтобы Вы знали, откуда именно пришло письмо, если один e-mail используется на нескольких сайтах.

Обратите внимание - если вставляете этот код в html файл, позаботьтесь, чтобы сервер смог обработать php-код в html файле. Для этого в файл .htaccess, который находится в корне сайта, следует дописать строку

AddHandler application/x-httpd-php .php .html .htm

или

AddHandler application/x-httpd-php5 .php .html .htm

или

AddType application/x-httpd-php .php .html .htm

Какую именно из них использовать - зависит от программного обеспечения, установленного на сервере. Пробуйте каждую отдельно по порядку, или уточните у Вашего хостера, как добавить поддержку php-кода в html файлах.

Коментарі тимчасово вимкнені / Комментарии временно отключены