Новичку инфо-бизнеса. От простого к сложному
 
Новичку инфо-бизнеса. От простого к сложному
Меню
Генератор форм

NEW!!! Теперь нет необходимости изучать html, javascript или php, для того, чтобы создать форму обратной связи на сайт, AJAX-форму, опрос, голосование или анкету!

Мастер создания форм

Мастер создания форм 3.0

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

Узнать подробности >>>

Категории

.: Полезные сервисы (6)

.: HTML и CSS (6)

.: Веб-программирование (30)

.: Почтовые рассылки (7)

.: Копирайтинг (1)

.: Продвижение сайтов (10)

.: Разное (13)

.: Заработок в Интернете (10)

.: Платежные системы (5)

Популярные заметки

:: Интеркасса – новая система приема платежей на Вашем сайте

:: Форма обратной связи. Как ее создать и для чего она нужна?!

:: Выпадающие меню на HTML и CSS

:: Улучшаем обработчик формы обратной связи

:: Этапы создания собственной почтовой рассылки

Случайные заметки

:: 20 советов по торговле рекламой на сайте

:: Вывод случайного блока с рекламной информацией! Часть №1

:: Контекстная реклама, как способ монетизации вашего сайта!

:: А Вы делали такие ошибки при создании сайта?

:: Как защитить Вашу партнерскую ссылку!

Опрос

Какая тема Вам наиболее интересна: *







Результаты
Реклама

Улучшаем обработчик формы обратной связи

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

Сегодня я решил показать как ее можно усовершенствовать. А именно: добавить проверку на заполнение всех полей и правильность ввода email-адреса.

Мы будет изменять код самого обработчика send.php, который мы создали раньше. И выглядеть он должен следующим образом:

<?php
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}
if (isset($_POST['email'])) {$email = $_POST['email']; if ($email == '') {unset($email);}}
if (isset($_POST['message'])) {$message = $_POST['message']; if ($message == '') {unset($message);}}

 

/* Проверяем заполнены ли все поля */
if (isset($name) && isset($email) && isset($message))
{

/* Убираем все лишние пробелы и переносы строк, а также преобразуем все теги HTML в символы*/
$name = htmlspecialchars(trim($name));
$email = htmlspecialchars(trim($email));
$message = htmlspecialchars(trim($message));

 

/* Проверяем правильность ввода email-адреса */
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
{
echo "

Неправильный формат e-mail адреса!

";
}

/* Формируем сообщение */
$address = "admin@biznesguide.ru";
$sub = "Сообщение с моего нового сайта!!!";
$mes = "Автор назвался: $name \nОставил такой E-mail: $email \nСодержание письма: \n$message";

/* Отправка сообщения */
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
if ($verify == 'true')
{
echo "Сообщение отправлено!";
}
else
{
echo "Сообщение не отправлено!";
}

 

}
else
{
echo "Вы заполнили не все поля!";
}
?>

Хотелось бы добавить пару комментариев по проделанной работе.

Итак, в этой обработчике мы задействовали несколько новых функций:

isset() – проверяет существует ли переменная. Возвращает TRUE, если переменная существует; иначе FALSE.

preg_match() - выполняет подстановку регулярного выражения. Регулярные выражения это отдельная, довольно таки сложная тема, останавливаться на которой я не буду.

trim() - убираем все лишние пробелы и переносы строк. Думаю здесь все понятно.

htmlspecialchars() - конвертирует специальные символы в мнемоники HTML. Некоторые символы имеют в HTML специальное значение и должны быть представлены мнемониками HTML для сохранения своего значения. Эта функция возвращает строку с выполненной конвертацией. А именно:

  • '&' (амперсанд) становится '&'
  • '"' (double quote) становится '"' когда ENT_NOQUOTES не установлен
  • ''' (single quote) становится ''', только когда установлен ENT_QUOTES.
  • '<' (less than) становится '<'
  • '>' (greater than) становится '>'

Если что-то не понятно, пишите в комментариях. Будем разбираться!

Также рекомендую посмотреть мой скрипт "Мастер создания форм".

Данный скрипт может создавать 4 типа форм, для Вашего сайта:

  • Форма обратной связи;
  • Форма для проведения опросов или анкет;
  • Форма для голосования на сайт;
  • Форма любой сложности.

Чтобы получить демонстрационную версию этого скрипта, заполните форму, которая находится ниже:

Введите свое имя и основной e-mail адрес в форму, после чего нажмите на кнопку подписки. Бесплатная версия скрипта будет выслан на указанный вами адрес в течение нескольких минут.

Ваше имя: *
Ваш e-mail: *

Более детальную информацию о скрипе, читайте на официальном сайте здесь!

Добавить в социальные закладки Сабмит в закладки

Опубликована: 2009-03-11   Просмотров: 7342   Комментариев: 21   Рейтинг: 4/5
 

Оцените эту статью:

Ужасно
Плохо
Так себе
Хорошо
Отлично

Коментарии:

  • Комментарий добавил(а): Оксана
    Дата: 2009-07-28 00:00:00

    Привет. Можете мне помочь сделать форму обратной связи?? Я вставила ваш код формы, но там почему то нет кнопки отправить? то есть поля есть для заполнения а отправить нельзя. Можете дать верный код ?)

    • Комментарий добавил(а): Шамшур Иван
      Дата: 2009-07-28 00:00:00

      О самой форме обратной связи я писал здесь

      http://biznesguide.ru/view_post.php?id=32

      Рекомендую ознакомиться! А в этой статье я лишь рассказываю, как можно улучшить сам обработчик этой формы!

  • Комментарий добавил(а): Николай
    Дата: 2009-07-29 00:00:00

    Не очень удобно сделана проверка. Если каких то данных не хватает или введены не правильно, то было бы лучше сделать редирект и рядос с ошибочной ячейкой подписать, сто не правильно. А то просто выводиться сообщение: "Вы заполнили не все поля!", не очень удобно.

  • Комментарий добавил(а): Александр
    Дата: 2009-08-02 00:00:00

    чего-то не получается, никак.
    Уважаемый Иван Шамшурин, помогите пожалуйста бедному бедолаге. Все работает, но только он не проверяет заполненность полей со звездочкой. URL сайта я написал - обртаная форма у меня предназначена для подачи заявлений - ну там увидите. Помогите пожалуйста третью ночь не сплю. Могу добавить, что на хосте поддерживается php 5.x

    Заранее благодарю.

    • Комментарий добавил(а): Шамшур Иван
      Дата: 2009-08-02 00:00:00

      Пришлите мне свою форму и файл обработчик, и я посмотрю что там не так!

  • Комментарий добавил(а): Александр
    Дата: 2009-08-02 00:00:00

    Ой извините просто уже ничего не соображаю, Уважаемы Иван *Шамшур

  • Комментарий добавил(а): Александр
    Дата: 2009-08-02 00:00:00

    А как Вам его прислать, я же не знаю Вашего e-mail?

    • Комментарий добавил(а): Шамшур Иван
      Дата: 2009-08-02 00:00:00

      Дайте ссылку от куда можно скачать!

  • Комментарий добавил(а): Александр
    Дата: 2009-08-02 00:00:00

    http://ifolder.ru/13365820 - там архив содержащий contact.html и send.php
    C Уважением,
    Александр Сапунов

    • Комментарий добавил(а): Шамшур Иван
      Дата: 2009-08-02 00:00:00

      Я исправил твои ошибки. Качай по этой ссылке
      http://biznesguide.ru/files/send_contact.zip

  • Комментарий добавил(а): Александр
    Дата: 2009-08-02 00:00:00

    Иван Спасибо ОГРОМНОЕ, я подробно изучу send.php и вопросов больше не будет!
    ВСЕ РАБОТАЕТ!

    СПАСИБО!!!!

  • Комментарий добавил(а): Валентин
    Дата: 2009-09-18 00:00:00

    подскажите как создать сам php файл?

  • Комментарий добавил(а): Sergey Zepp
    Дата: 2009-12-04 00:00:00

    Доброго времени... бизнес, бизнес - что делает с человеком! Помню школьное уравнение с ошибкой, из него следовало, что 2х2=5... два часа бился, пока нашел.
    Над Вашей формой не стал, просто заново переписал: так и не понял, что за шпильку Вы туда вставили.
    Впрочем, Бог Вам судья: каждый решает это для себя по-своему.
    Все работает, так что спасибо. Остался один вопрос: форма после отправки должна очищаться, ведь так? ИЛи это тоже ствтья для заработка?

    • Комментарий добавил(а): Шамшур Иван
      Дата: 2009-12-04 00:00:00

      На будущее Вам совет!
      Лучше сразу все писать своими ручками, а не копировать текст с сайта, т.к. на сайте некоторые символы могут отображаться не так как нужно!

      Данная статья - это лишь общий пример. Я старался показать, как вообще происходит отправка сообщений. Естественно её необходимо доробатывать!

      А для того, чтобы форма после отправки очищалась необходимо делать редирект на эту страницу!

      Удачи!

  • Комментарий добавил(а): Petro
    Дата: 2010-01-15 00:00:00

    Здраствуйте, всем кагда нибудь приходится учиться чему небудь новому, купил на сайте диск Евгения Попова делал сайт вроде все делал как та показано, я об обработчике, приходит пустой текст, кнему на сайт как там указано достучаться немогу,http://www.ruseller-board.com/faq.php, здесь вы написали шось ничерта ниполучается , помогите если вам это не втяжесть или посмотрите где я сделол ошибку <?php

    $v = mail("ariabuonabiz@gmail.com","Заказ с сайта","Модель : $model Цвет :$color Кол.:$num Имя : $name Фамилия : $secondname Телефон : $phone Е-маил : $email Скайп : $skype Город : $city Другая инфо. : $text ","Content-type:text/plain; charset = windows-1251 ");

    if ($v =="true") {echo "Ваш заказ успешно отправлен.";}
    ?>
    заране буду благодарен

    • Комментарий добавил(а): Шамшур Иван
      Дата: 2010-01-15 00:00:00

      В начале Вашего обработчика необходимо прописать все переменные, которые передала форма. Это делается так:

      if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}

      И только после этого переменная $name будет доступна в Вашем обработчике! Так необходимо проделать со всеми переменными!

  • Комментарий добавил(а): Petro
    Дата: 2010-01-15 00:00:00

    Спасибо все получилось

  • Комментарий добавил(а): Alexey
    Дата: 2010-02-14 00:00:00

    Прочёл,написал. Ничего не работает. Простите но по моему это какойто развод. Готов все же заплатить за готовую форму (но рабочую) Поможите?

    • Комментарий добавил(а): Шамшур Иван
      Дата: 2010-02-14 00:00:00

      Все работает! Внимательно читайте заметку!

      Могу посоветовать мой "Мастер создания форм".
      Все детали здесь:

      http://form-master.ru

  • Комментарий добавил(а): Petro
    Дата: 2010-04-05 00:00:00

    Здравствуйте я склепал некий разсылщик писем
    рассылать вруную письма с комерчиским придложением вот форма, как кней приделать обработчик

    <form action="send.php" name="invite" onsubmit="return check(invite)" method="POST">
    <table width="400" border="0" cellspacing="0" cellpadding="0" align="center" valign="top" bgcolor="#ffffff" style="font-family: Arial; font-size: 10pt;">
    <tr>
    <td colspan="2" align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
    </tr>
    <tr>
    <td colspan="2" align="center"><strong><font color="#1A47E5"><strong><big>Форма розсылки писем.</big></strong></font></strong></td>
    </tr>
    <tr>
    <td colspan="2" align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
    </tr>
    <tr>
    <td width="50%" align="right">Мое имя&nbsp;&nbsp;&nbsp;</td>
    <td align="left"><input type="Text" name="subname" class="input" value=""></td>
    </tr>
    <tr>
    <td align="right">Мой email&nbsp;&nbsp;&nbsp;</td>
    <td align="left"><input type="Text" name="subemail" class="input" value=""></td>
    </tr>




    <tr bgcolor="#FFFFFF"><td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <font size="1" color="#808080">тема</font><br>

    <input type="Text" name="subject" class="input" value="Bissnes" size="50"><br><br>

    <font size="1" color="#808080">текст </font><br>


    <textarea cols="50" rows="15" name="invitemessage" class="input">
    gggggg
    </textarea>
    <br><br>
    </td>
    </tr>



    <tr>
    <td align="right">&nbsp;</td>
    <td align="center"><strong><font color="#000080">введите адреса</font></strong></td>
    </tr>
    <tr>
    <td align="right">&nbsp;</td>
    <td align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&

  • Комментарий добавил(а): Павел
    Дата: 2010-07-19 18:11:54

    Дело в том что сделал по вашей рекомендации но не приходит на имейл ничего что делать?

Добавить комментарий:

Введите Ваше имя: * Введите Ваш email: * URL Вашего сайта:
Введите Ваш комментарий: *
Введите числа с картинки
Обновить капчу


Опубликована: 2009-03-11   Просмотров: 7342   Комментариев: 21   Рейтинг: 4/5
Подписка на рассылку
Все секреты бизнеса в Интернете у тебя на ладони
Ваше имя: *
Ваш e-mail: *

Подписка на RSS

Поиск


Комплект Реселлера

NEW!!! У тебя есть сайт, но ты не знаешь, что на нем продавать?

"Комплект Реселлера"

Самый большой сборник информационных товаров с правом перепродажи

Кликните Сюда Прямо Сейчас, Чтобы Узнать Все Подробности!

HTML-код для чайников
Хочешь изучить HTML за неделю?! Подписывайся на бесплатную рассылку "HTML-код для чайников"! Изучить HTML легко! Главное начать!

HTML-код для чайников

Ваше имя: *
Ваш e-mail: *
Моя ссылка

Если вам понравился мой сайт, я буду вам признателен, если вы разместите мою текстовую ссылку на своем сайте.
Заранее спасибо!

Код ссылки:

Рекомендую

Интернет-магазин с нуля

Уникальный видеокурс по созданию интернет-магазина c нуля и под ключ

Продолжительность 24 ч. 27 м., более 100 уроков.

Краткое содержание:

1. Введение, принципы работы. 4 урока. 26 минут.
2. Обзор CMS. Администрирование. 20 уроков. 3 ч. 34м.
3. Создание сайта. От шаблона до информации. 23 урока. 6 ч.34м.
4. Функциональность. 22 урока. 4 ч.10 м.
5.Интернет-магазин. 30 уроков. 4 ч.17 м.
6. Создание Вашего проекта. 5 уроков. 1 ч. 15 м.
7. Поисковая оптимизация сайта. 11 уроков. 2 ч. 13 м.
8. Юридические вопросы. Работа магазина.

13 уроков. 1 ч. 54 м.

Курс предназначен для Всех уровней подготовленности

Узнать подробности >>>

Статистика

Заметок в базе: 88
Книг в базе: 29
Комментариев в базе: 218

Copyright © 2008-2010 Шамшур Иван. Все права защищены.
Разрешается републикация материалов сайта с обязательным указанием ссылки на
автора материала (указание автора, его сайта) и ссылки cледующего содержания:
"http://biznesguide.ru. Новичку Инфо-Бизнеса. От простого к сложному."