Другие уроки можно посмотреть в разделе Статьи | ||
Краеугольная особенность работы Web-form на примере смены состояния checkbox. казалось бы - что может быть проще - обычный checkbox - - но оказывается надо учитывать несколько особенностей для корректной работы с этим элементом управления на ваших Web-страничках |
||
В предыдущем уроке - Использование checkbox мы познакомились с простым элементом управления для установки состояний вида Да/Нет Однако как оказалось нужно учитывать не только особенности работы самих элементов управления web-страницами представленных тегом <input>, но и web форм - <form>. |
||
В данном уроке мы рассмотрим следующие особенности: - как работают веб-формы; - как читать/сохранять данные веб-форм в файл; - как читать/сохранять данные веб-форм в базу данных; |
||
Для начала попробуем создать простейшую веб-форму содержащую знакомый нам checkbox, но чтобы состояние checkbox'а не пропадало бесследно, а сохранялось бы (и читалось бы) из файла. Вот пример кода на php для реализации этой цели (файл называется checkbox4.php) |
||
<HTML> <div
style="width: 990px; margin: 0 auto; background: #777777;"> <?php
/* Особенность работы checkbox'а //первым делом объявляем константу - имя файла где будем хранить состояние checkbox //обратите
внимание - нужно вручную создать папку data т. к. функция fopen с параметром
w не умеет //создавать сразу и папку и вложенный в неё файл !!! //эта функция - запишет состояние $state чекбокса в файл, если файла нет - он будет создан //обратите внимание еще раз !!! папку data вы должны предварительно создать сами иначе код не будет //работать корректно !!! //т.
к. функция fopen с параметром w не умеет создавать сразу и папку и вложенный
в неё файл !!! //Эта
функция нужна нам чтобы вывести фразу - Флажок установлен (сброшен)
//читаем состояние флажка в переменную $published
//если флажок установлен //задаем
атрибут checked //эта
переменная нужна просто для указания части имени для checkbox'а //если
была нажата кнопка Сохранить в веб форме //выставляем
переменную $state в 1 или 0 в зависимости от установленности $_POST['published-'.$num] //сохраняем
значение флажка в файл //выводим
фразу о том, что произошло //выводим
ссылку для возврата на страницу //если страница была только что открыта (или обновлена) без нажатия кнопки Сохранить в форме //выводим нашу веб-форму дав ей имя save_changes //страницу обработчик - указываем саму себя - checkbox4.php //метод
отправки данных формы - ПОСТ //выводим
чекбокс //выводим
кнопку Сохранить изменения //закрываем
форму закрывающим тегом </BODY> |
||
Это чудо работает таким образом - если зададим состояние чекбокса и нажмём кнопку <Сохранить изменения>, то фраза Флажок установлен или сброшен - будет показывать состояние чекбокса. Само состояние чекбокса будет браться из файла data/checkbox_state.txt В файл будет заноситься 1 или 0 в зависимости от установленности (сброшенности) чекбокса. Главная особенность веб-форм состоит в том, что результат выполнения операции бывает невозможно показать на странице с тем же состоянием - как правило требуется отдельная страница или вынесение кода для показа результата в отдельный условный блок кода. Работающий пример на php смотрите тут - checkbox4.php ВОТ и ВСЁ на сегодня. Ждите новых уроков. |
||
Другие уроки можно посмотреть в разделе Статьи | ||