Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2013, 02:24   #1
wellloy
Новичок
Джуниор
 
Регистрация: 29.06.2013
Сообщений: 1
По умолчанию Форма обратной связи на сайте

Здравствуйте! Делаю для себя сайт, учусь на ходу так сказать =)
Подскажите пожалуйста, как сделать чтобы после заполнения формы посетителем сайта, всевозможные сообщения (ваше сообщение отправлено, вы ввели неправильный код, или вы ввели неправильный э-мэйл) выводились сверху, над самой формой?
Вот мой код
Код HTML:
<title>Сообщение отправлено</title>
<?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['body'])) {$body = $_POST['body']; if ($body == '') {unset($body);}}
if (isset($_POST['phone'])) {$phone = $_POST['phone']; if ($phone == '') {unset($phone);}}
if (isset($_POST['pr'])){$pr = $_POST['pr']; if ($pr == '') {unset($pr);}}
if (isset($_POST['captcha'])){$captcha = $_POST['captcha'];}

 

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

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

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

/* Проверяем правильность ввода капчи */
  if ($captcha == $pr)
  {
/* Формируем сообщение */
$address = "maxim@evac-plan.ru";
$sub = "Заказ с сайта";
$mes = "Заказчик: $name \n E-mail: $email \n Контактный телефон: $phone \n Текст сообщения: $body";

/* Отправка сообщения */
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =UTF-8\r\nFrom:$email");
      if ($verify == 'true')
    
     {
       echo "<body bgcolor='609df9'>
<div style='margin-top: 30px'><table border='1' width='450' align='center' cellpadding='20' cellspacing='6' bgcolor='white'>
<tr>
<td>
<div style='margin'><div align='center'>Ваше сообщение успешно отправлено! <p>Вернуться на <a href='http://ваш_сайт'><font size='+1'>www.ваш_сайт</font></a></div>
<img src='http://ваш_сайт/img/message.jpg'>
<p><div align='center'>Я найду его, прочитаю и отвечу вам!</div>
<p><div align='right'><i><b>C уважением, Ваши Ф.И.О.</b></i></div>
</tr>
</td>
</table></div>";
      }
      else 
	  {
	  echo "Сообщение не отправлено!";
	  }
  }
  else
  {
  echo "Вы не правильно ввели сумму чисел с картинки";
  }
 

}
else
{
echo "Вы заполнили не все поля!";
}
?>
В моем коде, пример, когда сообщения выводятся на отдельной странице (в той, в которой лежит код отправки сообщения на мыло)
wellloy вне форума Ответить с цитированием
Старый 07.07.2013, 17:31   #2
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

Если я правильно Вас понял, то Вам нужно добавить сверху формы div, который Вы будете показывать только в случае ошибки.
То есть,
PHP код:
<?php if (isset($error)):
  <
div class="error"><?php echo $error?></div>
<?php endif; ?>
В начале проводите проверку на корректность данных, если данные не правильно введены, то скрипт выдаст ошибку.
А вообще, старайтесь хранить, как можно меньше html кода рядом с логикой.

Последний раз редактировалось Яр|/||< (^_^); 07.07.2013 в 17:33.
Яр|/||< (^_^) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
форма обратной связи Ol'ga PHP 3 01.03.2013 12:40
форма обратной связи на сайте lines Фриланс 18 27.02.2012 05:10
Форма обратной связи Cone PHP 9 07.12.2011 07:47
Форма обратной связи margo_31 Помощь студентам 6 20.09.2009 20:38
Форма обратной связи belvision PHP 5 10.11.2008 16:57