Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обработка флажков из формы
 
 автор: Alisa Selezneva   (12.06.2011 в 12:41)   письмо автору
 
 

Есть массив:
<?php

if
(
count ($_POST['a'][1]))
{  
echo 
"Сайт состоит из страниц до 5 шт.";
}

else if(
count($_POST['a'][2]))
{
echo
"Сайт состоит из страниц после 5 шт.";}

?>

до 5 страниц <input type="checkbox" name="a[1]" value="50"><br>
после 5 страниц <input type="checkbox" name="a[2]" value="300"><br>


Если отмечаем до 5 страниц, выводится - "до 5 страниц"
Если отмечаем поле'после 5 страниц', выводится-'после 5 страниц'
А если ничего не отмечаем - выводится 'до 5 страниц'.

Вопрос: как сделать, чтобы если поля не отмечаются, ничего не выводится.

  Ответить  
 
 автор: cheops   (12.06.2011 в 12:44)   письмо автору
 
   для: Alisa Selezneva   (12.06.2011 в 12:41)
 

Лучше заменить count() на !empty(), так как count() всегда вернет 1 для скалярного значения. А у вас $_POST['a'][1] по сути числа, а не массивы.

  Ответить  
 
 автор: Alisa Selezneva   (12.06.2011 в 13:12)   письмо автору
 
   для: Alisa Selezneva   (12.06.2011 в 12:41)
 

Вот так работает:
<?php


if (!empty($_POST['a'])){

    if (
count($_POST['a'][1])) {  
        echo 
"Сайт состоит из страниц до 5 шт.";
    } else if(
count($_POST['a'][2])) {
        echo
"Сайт состоит из страниц после 5 шт.";
    } 
}

?>


Только если поставить две галки, то выводит "до 5 страниц". Как сделать, что бы выводило 2 варианта?

  Ответить  
 
 автор: cheops   (12.06.2011 в 13:39)   письмо автору
 
   для: Alisa Selezneva   (12.06.2011 в 13:12)
 

>Только если поставить две галки, то выводит "до 5 страниц". Как сделать, что бы выводило 2
>варианта?
А вы уберите else, сделайте просто два if-блока
<?php 
if (!empty($_POST['a'])){ 

    if (
count($_POST['a'][1])) {   
        echo 
"Сайт состоит из страниц до 5 шт."
    }
    if(
count($_POST['a'][2])) { 
        echo
"Сайт состоит из страниц после 5 шт."
    }  

?>

  Ответить  
 
 автор: Alisa Selezneva   (12.06.2011 в 20:44)   письмо автору
 
   для: cheops   (12.06.2011 в 13:39)
 

Да, спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования