[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: checkbox and radio
loganleito
Доброго времени суток!

Ребята, помогите пожалуйста. Уже все перерыл. Понимаю. что просто но не работает!

Проблема такая. Нужно отправить данные чекбокса (галочки которые выброл человек) на емэйл. С тегом radio получилось а вот с галками...Либо последний выбор приходит, либо ничего!
Вот php с обработчиком post:

$pattern = "#^[a-z0-9_-]+@[a-z0-9_-]+\.([a-z0-9]{1,6}\.)?[a-z]{2,6}$#i";

if($_POST){
$error = false;

foreach ($_POST as $key => $value) {
$value = trim($value);
if(array_key_exists($key, $fields) && empty($value)){
$_SESSION['res']['error'] .= "Вы не заполнили поле {$fields[$key]} <br />";
$error = true;
}
}


if(!empty($_POST['email'])){
if(!preg_match($pattern, $_POST['email'])){
$_SESSION['res']['error'] .= "Поле email не соответствует формату <br />";
$error = true;
}
}


if($_POST['captcha'] != $_SESSION['res_captcha']){
$_SESSION['res']['error'] .= "Дан неверный ответ на вопрос <br />";
$error = true;
}

if($_POST['confirm'] != 'on'){
$_SESSION['res']['error'] .= "Вы не подтвердили согласие на публикацию!";
$error = true;
}


if($error){
foreach ($_POST as $key => $value) {
$_SESSION['res'][$key] = trim($value);
}
}
else{
foreach ($_POST as $key => $value) {
if(!array_key_exists($key, $all_fields)) continue;
$value = trim($value);
if(empty($value)) $value = "Поле не заполнено";
$body .= "{$all_fields[$key]}: \r\n{$value}\r\n\r\n";
}



$to = "admin@gmail.com";
$subject = "Заполнена форма на сайте";
$headers = "FROM: " .strtoupper($_SERVER['SERVER_NAME']). "<>\r\n";
$headers .= "Content-type:text/plain; charset=utf-8";
if(mail($to, $subject, $body, $headers)){
$_SESSION['res']['ok'] = "Спасибо, Ваш отзыв принят.";
}else{
$_SESSION['res']['error'] .= "Ошибка при отправке письма!";
}
}


header("Location: {$_SERVER['PHP_SELF']}");
exit;
}

$a = mt_rand(1, 10);
$b = mt_rand(1, 10);
$_SESSION['res_captcha'] = $a + $b;


И html

<p>

<fieldset
id="shest" style="width: 200px;">
<legend><input
type="checkbox"> Всё</legend>
<input
type="checkbox" name="food" value="Завтрак" checked >Завтрак
<input type="checkbox" name="food" value="Обед" >Обед
<input type="checkbox" name="food" value="Ужин" >Ужин
</fieldset>

<script>
var
main = document.querySelector('#shest legend [type="checkbox"]'),
all = document.querySelectorAll('#shest > [type="checkbox"]');

for(var i=0; i<all.length; i++) { // 1 и 2 пункт задачи
all[i].onclick = function() {
var allChecked = document.querySelectorAll('#shest > [type="checkbox"]:checked').length;
main.checked = allChecked == all.length;
main.indeterminate = allChecked > 0 && allChecked < all.length;
}
}


main.onclick = function() { // 3
for(var i=0; i<all.length; i++) {
all[i].checked = this.checked;

}
}

</script>
</p>



На скрипт не смотрите - это чтобы сразу всё выбрать(рабочий)

Спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.