Форма обратной связи (с проверкой заполненных полей)

Советы и решения. CMS NetCat (Неткат).
Ответить
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Форма обратной связи (с проверкой заполненных полей)

Сообщение Александр »

Форма обратной связи (с проверкой заполненных полей)

Альтернативная форма добавления объекта

Код: Выделить всё

<p>Имя<span>*</span>:</p><input name='f_Name' type='text' maxlength='255' size='50' value='$f_Name'>$f_Name_error<p>Текст сообщения<span>*</span>:</p><textarea name='f_Text' rows='5' cols='60'>$f_Text</textarea>$f_Text_error<p>Контактная информация<span>*</span>:</p><textarea name='f_Contacts' rows='5' cols='60'>$f_Contacts</textarea>$f_Contacts_error<p>Введите ответ: 2+3=<span>*</span>:</p><input name='f_captcha' type='text' maxlength='255' size='50' value='$f_captcha'>$f_captcha_error

Условия добавления объекта

Код: Выделить всё

if(!$f_Name) { $posting = 0; $f_Name_error = '<p class="error">Вы не ввели имя!</p>';}if(!$f_Text ) { $posting = 0; $f_Text_error = '<p class="error">Вы не ввели текст!</p>';}if(!$f_Contacts ) { $posting = 0; $f_Text_error = '<p class="error">Вы не ввели ваши контакты!</p>';}if (($f_captcha!=4 || $f_inside_admin)) { $posting = 0; $f_captcha_error = '<p class="error">Вы ввели неверный код</p>';}

Действие после добавления объекта

Код: Выделить всё

";echo '<h1>Обратная связь</h1>'; // значения визуальных настроек$res = $db->get_var("SELECT CustomSettings FROM Sub_Class WHERE Sub_Class_ID=$cc");( $res ? eval("\$cc_settings = $res") : $cc_settings = NULL ); // значения визуальных настроек по умолчанию$res = $db->get_var("SELECT CustomSettingsTemplate FROM Class WHERE Class_ID=$classID");eval("\$default_cc_settings = $res"); $f_Email = 'robot@flapps.ru';$f_Subject = 'Письмо с сайта';$mailbody = 'Сообщение: '.$f_Text.' Контакты: '.$f_Contacts; $mailer = new CMIMEMail();$mailer->mailbody(strip_tags($mailbody));$mailer->send(($cc_settings[EmailTo] ? $cc_settings[EmailTo] : $system_env[SpamFromEmail]), $f_Email, $f_Email, $f_Subject, $f_Name);echo "<p>".str_replace("%NAME", htmlspecialchars($f_Name), ( $cc_settings[TextAfterSend] ? $cc_settings[TextAfterSend] : $default_cc_settings[TextAfterSend][default_value] ) )."</p>"; echo "

Настройки отображения компонента раздела:

Код: Выделить всё

$settings_array = array(  'EmailTo' => array('type' => 'string',    'default_value' => '',    'caption' => 'Куда присылать письма (e-mail адрес)',    'size' => '21',   'validate_regexp' => '/^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}$/',    'validate_error' => 'Некорректный e-mail адрес' ),  'TextAfterSend' => array('type' => 'textarea',    'default_value' => 'Спасибо %NAME, Ваше письмо отправлено. Оно будет просмотрено в самое ближайшее время.',   'caption' => 'Текст после отправки',    'size' => '4' ));
Ответить