Вопрос про формы.

#
Re: Вопрос про формы.
Немного доработал Ваш код:
1. Выводятся ошибки по всем неверно незаполненным полям, а не только по первому.
2. Сообщение приходит на e-mail суперадмина (указывается в константах), чтобы заказчик позже мог менять это самостоятельно.
3. Валидная верстка.
<pre>
<script type="text/javascript">
   function SearchBlur(text,input) {
      $inp = document.getElementById(input);
      if ($inp.value!='' {
         return false;
      }
      else {
         $inp.value=text;
      }
   }
   function SearchFocus(text,input) {
      $inp = document.getElementById(input);
      if ($inp.value==text) {
         $inp.value='';
      }
      else {
         return false;
      }
   }
</script>
<?php
function show_form() {
?>
   <form action="" method="post">
      <table class="blitz_feedback" border="0" cellspacing="0">
         <tr>
            <td class="label"><label for="name">ФИО</label></td>
            <td><input id="name" name="name" size="40" type="text"/></td>
         </tr>
         <tr>
            <td class="label"><label for="tel">Телефон</label></td>
            <td><input id="tel" name="tel" size="40" type="text"/></td>
         </tr>
         <tr>
            <td class="label"><label for="email">Почта</label></td>
            <td><input id="email" name="email" size="40" type="text"/></td>
         </tr>
         <tr>
            <td colspan="2">
               <textarea id="mess" name="mess" cols="41" rows="7" onfocus="SearchFocus('Ваше сообщение..','mess';" onblur="SearchBlur('Ваше сообщение..','mess';">Ваше сообщение..</textarea>
            </td>
         </tr>
         <tr>
            <td colspan="2" class="label" align="right"><input type="submit" value="Отправить" name="submit"/></td>
         </tr>
      </table>
   </form>
<?
}
function complete_mail() {
   $_POST['mess']=htmlspecialchars(trim($_POST['mess']));
   $_POST['name']=htmlspecialchars(trim($_POST['name']));
   $_POST['tel']=htmlspecialchars(trim($_POST['tel']));
   $_POST['email']=htmlspecialchars(trim($_POST['email']));
   if ((empty($_POST['name']))||(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i",$_POST['email']))||(empty($_POST['mess']))||(empty($_POST['tel']))) {
      $errors=array();
      if (empty($_POST['name'])) {
         $errors[]=0;
      }
      if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i",$_POST['email'])) {
         $errors[]=1;
      }
      if(empty($_POST['mess'])) {
         $errors[]=2;
      }
      if(empty($_POST['tel'])) {
         $errors[]=3;
      }
      output_err($errors);
   }
   else {
      $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
         ->from('constants'
         ->where('name','=','SUPERUSER_EMAIL';
      $aRows = $oCore_QueryBuilder_Select->execute()->asAssoc()->result();
      $to=$aRows[0]['value'];
      $mess='Имя отправителя:'.$_POST['name'].'
Контактный телефон:'.$_POST['tel'].'
Контактный email:'.$_POST['email'].'
'.$_POST['mess'];
      $title=$_SERVER['HTTP_HOST']." | Обратная связь";
      $from=$_POST['email'];
      $headers="From: {$from}\r\n";
      $headers.= "MIME-Version: 1.0\r\n";
      $headers.="Content-type: text/plain; charset=utf-8\r\n";
      $headers.="Content-Transfer-Encoding: 8bit";
      mail($to,$title,$mess,$headers);
      echo 'Спасибо! Ваше письмо отправлено.';
   }
}
function output_err($errors) {
   $err[0]='ОШИБКА! Не введено имя.';
   $err[1]='ОШИБКА! Неверно введен e-mail.';
   $err[2]='ОШИБКА! Не введено сообщение.';
   $err[3]='ОШИБКА! Не введен телефон.';
   foreach ($errors as $error) {
      echo '<p class="mess_err">'.$err[$error].'</p>';
   }
   show_form();
}
if (isset($_POST['submit'])) {
   complete_mail();
}
else {
   show_form();
}
?>
</pre>
Нужно добавить только css под Ваш дизайн.
#
Re: Вопрос про формы.
Здравствуйте! Подскажите, пожалуйста, где можно изменить тему письма, которая приходит через форму обратной связи?
Например, в установках формы задана тема "Вопрос от посетителя сайта". И письма от всех пользователей приходят с одной и той же темой письма, что не очень удобно при обработке писем.
Внутри же писем в начале каждого письма проставляется идентификационный номер обращения. Вот как этот номер добавить к теме?
Чтобы была тема такой:
"Вопрос от посетителя сайта №100"
Hostcms v6
Авторизация