skip to content
KAD::Wiki
User Tools
Log In
Site Tools
Search
Tools
Show page
Old revisions
Log In
>
You are here:
Приветствие
»
Для сотрудников
»
Разработка
»
HostCMS
»
Статьи (по модулям)
»
Формы
»
Если нет модуля форм
private:koding:hostcms:modules:formy:esli_net_modulja_form
Media Files
====== Если нет модуля форм ====== ===== Инструкция ===== - Создаем структуру с типом Динамическая страница - Размещаем в коде код из обработчика - Создаем константы FORM_EMAIL_TO и FORM_EMAIL_FROM - Тестируем - Стилизуем под сайт Для добавления полей: - Добавляем поле в html - Добавляем поле в массив $aFields - Изменяем шаблон контента $content По умолчанию обработчик после неуспешной отправки(при незаполненных полях) должен после перезагрузки вернуть все заполненные данные снова в форму. Если этого не происходит, значит есть какая-то ошибка в скриптах на сайте. ==== Обработчик ==== <code php> <h1>Обратная связь</h1> <form action="." method="post" id="callback_form" enctype="multipart/form-data" name="form"> <table class="link_table"> <tbody> <tr> <td align="left" valign="middle"><strong>Ваше имя<span class="style9"> *</span>:</strong></td> <td><input id="name" name="name" size="40" type="text" /></td> </tr> <tr> <td align="left" valign="middle"><strong>Ваш телефон:</strong></td> <td><input id="age" name="tel" size="40" type="text" /></td> </tr> <tr> <td align="left" valign="top"><strong>Вопрос<span class="style9"> *</span>:</strong></td> <td><textarea id="comments" cols="35" rows="7" name="mess"></textarea> <input id="confirm" name="confirm" type="hidden" value="yes" /></td> </tr> <tr> <td></td> <td align="left" valign="top"><strong><input type="submit" value="Отправить" name="submit"></strong></td> </tr> </tbody> </table> <p><strong class="style9">*</strong> — поля, обязательные для заполнения.</p> </form> <?php /** * Отправка писем 5 * * @author Kuts Artem, KAD Systems (©) 2015 * @date 03-07-2015 * Начало >> */ // Имя формы $formName = "form"; // Название поля-ключа отправки или кнопки отправки $keyName = "submit"; // Тема письма $subject = "Заявка"; // Получатель $form_email_to = FORM_EMAIL_TO; // Отправитель $form_email_from = FORM_EMAIL_FROM; // Массив полей, второе значение - флаг валидации $aFields = array('name' => 1, 'tel' => 0, 'mess' => 1); // Шаблон контента $content = "<strong>Имя:</strong> {name} <br/> <strong>Телефон:</strong> {tel} <br/> <strong>Сообщение:</strong> {mess} <br/>"; // Временная директория для размещения загруженных файлов $filesTmpPath = "upload/"; // Сообщения $aMessages = array( 'success' => 'Спасибо! Ваша заявка принята!', 'error_ff' => 'Пожалуйста, проверьте правильность заполнения полей!' ); $valid = TRUE; if (isset($_POST[$keyName])) { foreach ($aFields as $field => $req) { if ($req && (isset($_POST[$field]) && mb_strlen($_POST[$field]) < 1)) { $valid = FALSE; break; } $content = str_replace('{'.$field.'}', $_POST[$field], $content); } if ($valid) { // Отправляем if (Core_Mail::instance() ->to($form_email_to) ->from($form_email_from) ->subject($subject) ->message($content) ->contentType('text/html') ->header('From', $form_email_from) ->send()) { $message = $aMessages['success']; } } else { $message = $aMessages['error_ff']; ?> <script> <?php foreach ($aFields as $field => $req) { echo $formName . "."; echo $field . ".value = \""; echo $_POST[$field] . "\";" . " "; } ?> </script> <?php } if (isset($message)) {?> <script> alert("<?php echo $message;?>"); <? if ($valid) { ?> // Раскомментить, если после отправки нужно вернуться на главную document.location = "/"; <? } ?> </script> <?php } } ?> </code>
Save
Preview
Cancel
Edit summary
private/koding/hostcms/modules/formy/esli_net_modulja_form.txt
· Last modified: 27.06.17 в 14:32 by
maximzasorin_gmail.com
Page Tools
Show page
Old revisions
Export to PDF
Rename Page
Back to top