Добрый день форумчане! Есть массив: PHP: <?php if (count ($_POST['a'][1])) { echo "Сайт состоит из страниц до 5 шт."; } else if(count($_POST['a'][2])) { echo"Сайт состоит из страниц после 5 шт.";} ?> HTML: до 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 страниц'. Вопрос: как сделать, чтобы если поля не отмечаются, ничего не выводится. Если такой вариант: PHP: if (!empty($_POST['a'][1]) && !empty($_POST['a'][2])) { if (count($_POST['a'][1])) { echo "Сайт состоит из страниц до 5 шт."; } else if(count($_POST['a'][2])) { echo"Сайт состоит из страниц после 5 шт."; } } если отмечаем поле "после 5 страниц" -ничего не выводится. Если ничего не отмечает - выводится "до 5 страниц" Если отмечаем поле"до 5 страниц" - выводится "до 5 страниц"
Вот так работает: PHP: <?php if (!empty($_POST['a'])){ if (isset($_POST['a'][1])) { echo "Сайт состоит из страниц до 5 шт."; } else if(isset($_POST['a'][2])) { echo"Сайт состоит из страниц после 5 шт."; } } ?> Только если ставить две галки, выводит - 'до 5 страниц', а надо все поля отмеченные.
выводит только "до 5 страниц" в последнем случае из-за конструкции else if (вторая проверка просто не срабатывает). "все поля отмеченные" - это чтоб оба предложения вывелись? тогда уберите else в 8й строчке
Не могу разобраться вот с таким массивом: HTML: <select name="a[99]" size="1"> <option value="0">нет</option> <option value="20">да</option></select> PHP: <?php if (!empty($_POST['a'])) { if ($_POST['a'][99]==0) { echo "нет. "; } if($_POST['a'][99]==20) { echo"да. "; } } ?> В этом случае выводит - если поля не отмечаем - "нет" - если отмечаем 'нет' - "нет" -если отмечаем 'да' - "да" Как добиться, ели ничего не отмечаем, ничего не выводит?
Ну и чего ты добился этим оператором эквивалентности? Мне не надо сравнивать типы. P.S. Лишь бы что-то ляпнуть.
missAisa Ответил на тот вопрос, который был поставлен. Если получаешь ответ не тот, который ожидаешь - возможно вопрос не правильно сформулирован?
сделала так: HTML: <select name="b[99]" size="1"> <option value="-1"></option> <option value="0">нет</option> <option value="20">да</option> PHP: <?php if (!empty($_POST['b'])) { if ($_POST['b'][99]==-1) { echo "";} if ($_POST['b'][99]==0) { echo "нет. "; } if($_POST['b'][99]==20) { echo"да. "; } } ?> Зато все работает. Заминка, я так поняла в этом <select>, который визуально уже отмечен. Если есть еще варианты, напишите.