Вопрос по полям формы

#
Re: Вопрос по полям формы
Ок. Могу ли я заказать платную консультацию для  решения моей проблемы, раз за бесплатно такие консультации невозможны для пользователей версии Start?
И если да, то сколько это будет стОить?
Модератор
#
Re: Вопрос по полям формы
Absolut,
если Вам необходима консультация службы поддержки необходимо обращаться в службу поддержки! По предоставленным данным необходимо сообщить, что именно не понятно.
#
Re: Вопрос по полям формы
Для метода GetForm добавлен новый элемент массива $param['e-mail-to'] - строка со списком электронных адресов получателей. При явном указании списка электронных адресов, адреса указанные в атрибутах формы игнорируются.
Обновление файла будет отправлено поддержкой.

Я не могу понять, как мне воспользоваться этой информацией и как увязать Список, созданный в разделе Списки, в котором указаны наименования отделов с вот этим
новый элемент массива $param['e-mail-to'] - строка со списком электронных адресов получателей
Модератор
#
Re: Вопрос по полям формы
Уважаемый тов. Absolut я постараюсь объяснить, о чем выше Вам писал HostCMS и тем самым помочь, наконец таки, разрешить проблему с формой.

Для того, чтобы связать список e-mail'ов, созданный в разделе "Списки" с новым элементом массива $param['e-mail-to'] метода GetForm, необходимо в коде динамической или типовой динамической страницы (в зависимости от используемого Вами механизма отображения узла структуры, связанного с данной формой) ПЕРЕД ВЫЗОВОМ МЕТОДА GetForm написать код по следующему шаблону:
  

switch (to_int($_POST["<'Название поля формы со списком e-mail'ов>"]))
{
   case <'Идентификатор первого e-mail'ла из списка e-mail'лов'>:
   {
      $param['e-mail-to'] = <'"Электронный адрес первого e-mail'ла из списка e-mail'лов'>;
      break;
   }

   case <'Идентификатор второго e-mail'ла из списка e-mail'лов'>:
   {
      $param['e-mail-to'] = <'Электронный адрес второго e-mail'ла из списка e-mail'лов'>;
      break;
   }
   case <'Идентификатор третьего e-mail'ла из списка e-mail'лов'>:
   {
      $param['e-mail-to'] = <'Электронный адрес третьего e-mail'ла из списка e-mail'лов'>;
      break;
   }
   ...
   case <'Идентификатор последнего e-mail'ла из списка e-mail'лов'>:
   {
      $param['e-mail-to'] = <'Электронный адрес последнего e-mail'ла из списка e-mail'лов'>;
      break;
   }
   
}


Если что-то будет непонятно, пишите!
#
Re: Вопрос по полям формы
Ух, я бы такого никогда и не сочинил бы
Вроде все сделал, как Вы написали, но возникла ошибка:
Parse error: syntax error, unexpected '<' in /home/a/absolutoru/zmi2/public_html/lib/lib_54/lib_54.php on line 21

А вот что я накалякал внутри типовой динамической страницы
$external_propertys = array();

switch (to_int($_POST["<'7'>"])) - идентификатор списка
{
   case <'25'>:
   {
      $param['e-mail-to'] = <'*******@yandex.ru'>;
      break;
   }

   case <'26'>:
   {
      $param['e-mail-to'] = <'*******@yandex.ru'>;
      break;
   }
   case <'24'>:
   {
      $param['e-mail-to'] = <*******@yandex.ru'>;
      break;
   }
case <'23'>:
   {
      $param['e-mail-to'] = <'*******@yandex.ru'>;
      break;
}
  
}
Модератор
#
Re: Вопрос по полям формы
Вы немножко неправильно заменили,  угловые скобки <> оставлять не надо. Код должен выглядеть следующим образом

switch (to_int($_POST["7"]))
{
   case '25':
   {
      $param['e-mail-to'] = '*******@yandex.ru';
      break;
   }

   case '26':
   {
      $param['e-mail-to'] = '*******@yandex.ru';
      break;
   }
   case '24':
   {
      $param['e-mail-to'] = '*******@yandex.ru';
      break;
   }
case '23':
   {
      $param['e-mail-to'] = '*******@yandex.ru';
      break;
}
  
}
Модератор
#
Re: Вопрос по полям формы
Посмотрите последний вариант, я убрал в нем все ненужные углове скобки.
#
Re: Вопрос по полям формы
ДА. я убрал все скобки (был невнимателен) И ошибка исчезла,НО!!
Все письма, независимо от выбранного адресата приходят на e-mail куратора формы
Модератор
#
Re: Вопрос по полям формы
Предоставьте полный код динамической страницы.
#
Re: Вопрос по полям формы
<?
$forms = new  Forms();

/* Идентификатор формы */
$forms_id = to_int($GLOBALS['LA']['FormID']);

if (isset($_POST['Submit']))
{
   /* 0 - html, 1- plain text */
   $param['type'] = to_int($GLOBALS['LA']['TypeMail']);

   if (!empty($GLOBALS['LA']['EmailFieldName']) && !empty($_POST[to_str($GLOBALS['LA']['EmailFieldName'])]))
   {
      $param['e-mail'] = to_str($_POST[to_str($GLOBALS['LA']['EmailFieldName'])]);
   }

   $external_propertys = array();

switch (to_int($_POST["7"]))
{
   case '25':
   {
      $param['e-mail-to'] = '*****@yandex.ru';
      break;
   }

   case '26':
   {
      $param['e-mail-to'] =  '*****@yandex.ru';
      break;
   }
   case '24':
   {
      $param['e-mail-to'] =  '*****@yandex.ru';
      break;
   }
case '23':
   {
      $param['e-mail-to'] =  '*****@yandex.ru';
      break;
}
  
}
   /* Производим обработку формы, результат записываем $result_form */
   $result_form = $forms->GetForm($forms_id, to_str($GLOBALS['LA']['xsl_forms']), to_str($GLOBALS['LA']['xsl_email']),$param);

   /* форма не обработана */
   if($result_form === 0)
   {
      $external_propertys['error'] = "Вы неверно ввели число подтверждения отправки формы!";
   }
   elseif($result_form === false) /* форма не обработана */
   {
      $external_propertys['error'] = "Прошло слишком мало времени с момента последней отправки Вами формы!";
   }

   /* Если была ошибка - выводим форму повторно с сообщением об ошибке */
   if(!empty($external_propertys['error']))
   {
      $forms->ShowForm($forms_id, to_str($GLOBALS['LA']['xsl_show_form']), $external_propertys, $_POST);
   }
}
else
{
   $forms->ShowForm($forms_id, to_str($GLOBALS['LA']['xsl_show_form']));
}
?>

Вообще, код был скопирован с кода динамической страницы формы и были внесены те изменения, которые Вы порекомендовали.
Авторизация