Добрый день !
Подскажите как реализовать обработку форму обратной связи для checkbox.
Сейчас она работает, но не обрабатывается чекбокс:
http://alevavit.ru/%D0%BF%D0%BE%D0%B4%D0%B...B0%D1%82%D1%8C/Форма в разделе участвовать.
Мой код:
[PHP]session_start();
//error_reporting(E_ALL);
//ini_set('display_errors', 'On');
require_once 'validator.php';
$validator = new Validator();
$validator->set_error_delimiters('<div class="error">', '</div>');
//Задаем правила валидации
$rules = array(
array(
'field' => 'user_name',
'label' => 'Имя',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'user_lastname',
'label' => 'Фамилия',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'user_country',
'label' => 'Страна',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'user_sity',
'label' => 'Город',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'user_email',
'label' => 'E-mail',
'rules' => array(
'trim' => '',
'required' => 'Поле %s обязательно для заполнения',
'valid_email' => 'Поле %s должно содержать правильный email-адрес'
)
),
array(
'field' => 'user_phone',
'label' => 'Телефон',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'skype',
'label' => 'Skype',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
)
),
array(
'field' => 'text_about',
'label' => 'Расскажите о себе',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'text_help',
'label' => 'Как вы видите своё участие',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'strip_tags' => '', // Удаляем HTML и PHP теги
'required' => 'Поле %s обязательно для заполнения'
)
),
array(
'field' => 'keystring',
'label' => 'Капча',
'rules' => array(
'trim' => '', //Обрезаем пробелы по бокам
'required' => 'Вы не ввели цифры изображенные на картинке',
'valid_captcha[keystring]' => 'Вы ввели не правильный код с картинки с цифрами'
)
)
);
//Устанавливаем правила валидации
$validator->set_rules($rules);
$message = '';
//Запускаем валидацию POST данных
if($validator->run()){
//Здесь впишите свой e-mail адрес
//на негу будут приходить уведомления с формы
$to = 'a-a-u@mail.ru';
$from = "=?UTF-8?b?" . base64_encode($validator->postdata('user_name')) . "?=";
$subject = "Участник проектов" . base64_encode( $validator->postdata('subject') ) . "?=";
$mail_body = "Сообщение с сайта Alevavit.ru.\r\nДанные участника:\r\n";
//Формируем текст сообщения
foreach($rules as $rule){
if($rule['field'] == 'keystring') continue;
$mail_body .= $rule['label'].': '.$validator->postdata($rule['field'])."\r\n";
}
$header = "MIME-Version: 1.0\n";
$header .= "Content-Type: text/plain; charset=UTF-8\n";
$header .= "From: ". $from . " <" . $validator->postdata('user_email'). ">";
//Отправка сообщения
if(mail($to, $subject, $mail_body, $header)){
$message = '<div class="error">Ваше сообщение успешно отправлено!</div>';
//Очищаем форму обратной связи
$validator->reset_postdata();
}
else{
$message = '<div class="error">Ваше сообщение не отправлено!</div>';
}
}
else{
//Получаем сообщения об ошибках в виде строки
$message = $validator->get_string_errors();
//Получаем сообщения об ошибках в виде массива
$errors = $validator->get_array_errors();
}
[/PHP]
Сама форма:
<form action="" method="post" id="mail">
<div class="form">
<table cellspacing="15px" width="500px" style="margin-left:-10px;">
<tr><td valign="top" width='150px'>
<label>Имя<span class="star">*</span></label></td>
<td <?=(!empty($errors['user_name']))? 'class="error_field"': '';?>><input type="text" class = "text" name="user_name" value="<?=$validator->postdata('user_name');?>" /></td></tr>
<tr><td valign="top">
<label>Фамилия<span class="star">*</span></label></td>
<td <?=(!empty($errors['user_lastname']))? 'class="error_field"': '';?>><input type="text" class = "text" name="user_lastname" value="<?=$validator->postdata('user_lastname');?>" /></td></tr>
<tr><td valign="top"><label>Страна<span class="star">*</span></label></td>
<td <?=(!empty($errors['user_country']))? 'class="error_field"': '';?>><input type="text" class = "text" name="user_country" value="<?=$validator->postdata('user_country');?>" /></td></tr>
<tr><td valign="top"><label>Город<span class="star">*</span></label></td>
<td <?=(!empty($errors['user_sity']))? 'class="error_field"': '';?>><input type="text" class = "text" name="user_sity" value="<?=$validator->postdata('user_sity');?>" /></td></tr>
<tr><td valign="top"><label>E-mail<span class="star">*</span></label></td>
<td <?=(!empty($errors['user_email']))? 'class="error_field"': '';?>><input type="text" class = "text" name="user_email" value="<?=$validator->postdata('user_email');?>"/></td></tr>
<tr><td valign="top"><label>Телефон<span class="star">*</span></label></td>
<td <?=(!empty($errors['user_phone']))? 'class="error_field"': '';?>><input type="text" class = "text" name="user_phone" value="<?=$validator->postdata('user_phone');?>" /></td></tr>
<tr><td valign="top"><label>Skype</label></td>
<td <?=(!empty($errors['skype']))? 'class="error_field"': '';?>><input type="text" class = "text" name="skype" value="<?=$validator->postdata('skype');?>"></td></tr>
<tr><td valign="top">Выберите проект<span class="star">*</span></td>
<td>
<label><input type="checkbox" name="project1" value="<?=$validator->postdata('project1');?>"><span>Сайт и программа «Алевавит»</span><br>
<label><input type="checkbox" name="project2" value="<?=$validator->postdata('project2');?>"><span>Грамота для детей и взрослых</span><br>
<label><input type="checkbox" name="project3" value="<?=$validator->postdata('project3');?>"><span>Лавка Чудес</span><br>
<label><input type="checkbox" name="project4" value="<?=$validator->postdata('project4');?>"><span>Фильм «Ключ Мир(мiр)оздания»</span><br>
<label><input type="checkbox" name="project5" value="<?=$validator->postdata('project5');?>"><span>Алеваград</span><br>
<label><input type="checkbox" name="project6" value="<?=$validator->postdata('project6');?>"><span>Метафизика Животворения</span><br>
<label><input type="checkbox" name="project7" value="<?=$validator->postdata('project7');?>"><span>Книга Алева и Тау</span><br>
<label><input type="checkbox" name="project8" value="<?=$validator->postdata('project8');?>"><span>1234 Светоносца</span><br>
</td></tr>
<tr><td valign="top"><label>Расскажите о себе<span class="star">*</span></label></td>
<td <?=(!empty($errors['text_about']))? 'class="error_field"': '';?>><textarea class="text" name="text_about" value="<?=$validator->postdata('text_about');?>" cols="34" rows="7"></textarea></td></tr>
<tr><td valign="top"><label>Как вы видите своё участие<span class="star">*</span></label></td>
<td <?=(!empty($errors['text_help']))? 'class="error_field"': '';?>><textarea class="text" name="text_help" value="<?=$validator->postdata('text_help');?>" cols="34" rows="7" ></textarea></td></tr>
<tr><td valign="top" <?=(!empty($errors['keystring']))? 'class="error_field"': '';?>>
<label class="captcha">Введите цифры изображенные на картинке:</label></td>
<td class="capth_images"><?php require 'captcha.php';?>
<input type="text" style="position:relative; top:-5px;" class = "text" name="keystring" value=""/></td></tr>
<tr><td valign="top"></td>
<td align="right"><input type="submit" value="Отправить" /></td></tr>
</table>
</div>
</form>