Сделать домашней|Добавить в избранное
 

Сайт, посвящен программированию,
исходникам разных программ и
известным алгоритмам

 
на правах рекламы

Обратная связь на php

Автор: admin от 3-01-2013, 23:07
Почти каждому сайту необходима своя обратная связь. Обратная связь подразумевает общение посетителя сайта с администратором, или с человеком, который оказывает какую-нибудь услугу за деньги. Это очень удобно. Сейчас мы разберем как это сделать, плюс к ней будет небольшой механизм, фильтрующий спам. Конечно код можно сто раз улучшить по каждому конкретному случаю. Но мы рассмотрим самый легкий и простой способ создания обратной связи на php.

1 этап разработки обратной связи на php - это создание формы, в которую пользователь вводит своё имя, телефон или электронную почту, вопрос. А также принимает ответ на проверочную строку. Назовем её obratsv.html.

<form method="POST" action="action.phtml">
Имя:  <input type="text" name="name" size="50"><br><br>
Телефон: <input type="text" name="telephone" size="50"><br><br>
Вопрос: <br> <textarea rows="2" name="txt" cols="50"></textarea><br><br>
2*3-2 = <br> <input type="text" name="proverka" size="3"><br>
<br><input type="submit" value="Отправить" name="B1">
<input type="reset" value="Очистить" name="B2"></form>


Рассмотрим эту часть кода по мельчайшим деталям.
Метод передачи введенных данных на сервер мы используем "POST". Файл, который будет проверять заполнены ли поля и отправлять на электронную почту сообщение, называется action.phtml.

Рассмотрим различия метода передачи "GET" и "POST"
Плюсы GET:
1. Страницу всегда можно сохранить в закладках (СЕО-дружелюбен).
2. Он быстрее POST, так как вся информация находится в заголовках.
3. Информация, посылаемая на сервер, всегда видима (в адресной строке).

Минусы GET:
1. Иноформация, посылаемая на сервер, всегда видима (в адресной строке).
2. Объем информации, которую можно отправить, ограничен.

Плюсы POST:
1. Можно отправить много информации на сервер, объем неограничен.
2. Отправляемая информация не показывается в адресной строке. Удобно, если нужны красивые URL.
Но ее все равно можно легко увидеть. Не используйте POST как способ защиты сайта!

Минусы POST:
1. Медленнее, чем GET, так как анализируются заголовки и тело запроса.
2. Страницы, сгенерированные как результат запроса POST, нельзя добавить в закладки (СЕО-недружелюбен).

Используйте POST, когда на сервер нужно отправить что-то для сохранения. Например, данные нового зарегистрированного пользователя, или какой-то файл.

Используйте GET, если вам нужно что-то от сервера, но сервер ничего не будет сохранять, или объем отправляемой вами информации легко помещается в адресной строке. Например, страница поиска на вашем сайте будет более удобная, если использовать GET, так как на сервер отправляется всего лишь какая-то фраза или слово, и сервер просто отправляет кучу информации в ответ. К тому же, страницу результатов можно будет добавить в закладки.

Вывод: используем метод POST в форме обратной связи, т. к. необходимо передавать определенные данные на сервер.

<input type="text" name="telephone" size="50">

input type="text" предназначен для создания текстовых полей ( type = "text" ) ;
name="telephone" - имя переменной, данные которой передаются в action.phtml;
size="50" - ширина текстового поля.

<textarea rows="2" name="txt" cols="50">

textarea представляет собой элемент формы для создания области, в которую можно вводить несколько строк текста;
cols = "50" ширина поля в символах, в нашем случае длина равна 50;
rows = "2" высота поля в строках текста, в нашем случае высота равна 2 строкам текста.
name = "txt" - имя поля, предназначено для того, чтобы обработчик формы мог его идентифицировать.

<input type="submit" value="Отправить" name="B1">
<input type="reset" value="Очистить" name="B2"></form>


Первая кнопка, если её нажать конечно, отправляет данные на сервер, а вторая - очищает введенные данные.

2 этап разработки обратной связи на php это написание непосредственно обработчика, введенных данных и отправления их на электронную почту. Назовем этот файл action.phtml

<?php
$name = htmlspecialchars($_POST["name"]);
$txt = htmlspecialchars($_POST["txt"]);
$email="zzz@zzz.zz"; //тут введите свой е-майл
$telephone=htmlspecialchars($_POST["telephone"]);
$proverka = htmlspecialchars($_POST["proverka"]);
$str=$name." ".$telephone;
if (($proverka="4")&&(strlen($name)!=0)&&(strlen($telephone)!=0)&&(strlen($txt)!=0))
{
    mail($email, "Обратная связь Имя вашего сайта", $txt, $str);
    echo "Спасибо за внимание! Ваше сообщение отправлено";
}

    else
    {
    echo "Некоторые поля не заполнены, пожалуйста заполните всё";
    }

?>


Теперь также тщательно рассмотрим, что происходит в этой программе.
1) $telephone=htmlspecialchars($_POST["telephone"]); - функция htmlspecialchars принимает данные в символьном виде, которые передаются на сервер методом POST, и эти символы записываются в переменную " $telephone ".
2) $str=$name." ".$telephone; для удобства мы склеим две переменные в одну и между значениями поставим пробел.
3) Условие:
Если (кодовое число введено верно) И (длина, введенного имени не равна нулю) И (длина, введенного телефона не равна нулю) И (длина, введенного текста не равна нулю)
4) То:
mail($email, "Обратная связь Имя вашего сайта", $txt, $str); - автоматически отправляет сообщение на определенную электронную почту, обозначенную в определении переменных, в имени отправителя будет написано: "Обратная связь Имя вашего сайта", затем отправится сообщение, которое обозначено как " $txt " ; и плюс в начале сообщения будет указано " Имя и Телефон ", введенный в форму.
5) Иначе:
Выводится сообщение: "Некоторые поля не заполнены, пожалуйста заполните всё".

Если вам нравится то, что мы пишем, пожалуйста, нажмите на интересующую вас рекламу сбоку, сверху, или сразу после статьи. Будет стимул писать лучше и чаще. Хорошего вам дня.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий