На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Неверная работа isset() в PHP
      Имеется HTML-форма:
      ExpandedWrap disabled
         
        ...
        <input type=checkbox name=concrate checked value=ON>
        ...


      и PHP-скрипт, обрабатывающий этот запрос:

      ExpandedWrap disabled
         
        ...
        if (isset($_POST["concrate"]) && $_POST["concrate"]=="") echo "Чекбокс есть, но он не чекед";
        ...


      Условие должно выполняться только в тех случаях, когда:
      1) Чекбокс concrate присутсвтует в HTML-форме
      2) Значение его равно "" (empty)

      Почему isset() возвращает FALSE?
      На самом деле элемент POST-массива concrate должен быть определен, но только он пуст.

      Как лечить? :rolleyes:
        если ты не пометил чекбокс, то переменная установлена не будет. Так что isset() работает правильно.
          Checkbox'ы это такие хитрые зверьки, которые передаются только если они че(ё)кнутые;) То есть, если isset($_POST['check']) тогда он чекнутый, инече - нет. Когда надо ометить много чекбокосов, то их имена удобно давать films[]
          Тогда $POST['films'] - это массив со свсеми чекнутыми чеками;)
            Спасибо. Теперь понятно, почему они так себя ведут.
            Эх... придется поизвращаться :)
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0166 ]   [ 15 queries used ]   [ Generated: 28.04.24, 17:18 GMT ]