Автоматическая php форма
"Автоматическая php форма" - в какой-то момент тебе начинает надоедать постоянное создание форм. У меня такой момент настал. Каждый раз заново нужно создавать новую форму... прописывать все атрибуты, классы и т.д. - если вы здесь, то думаю, что вы понимаете о чем это я!
Универсальная автоматическая форма DwForm.
- Техническое задание на создание автоматической формы php
- Пример работы автоматической формы php.
- Автоматической форма php с 2 input
- Пример автоматической формы с типом number
- Пример автоматической формы с типом checkbox
- Добавление placeholder в автоматическую форму php.
- Добавление textarea в автоматическую форму php.
- Submit в автоматическую форму php.
- Все типы в автоматической форме php.
- Обязательные и не обязательные поля в автоматической форме php.
- Атрибуты в автоматической форме php.
- Дополнительные атрибуты.
- Скачать
Форма обновлена.
Техническое задание на создание автоматической формы php
Надо создать функцию php(далее DwForm) в которой будет заложен алгоритм вывода любого типа input.
"Автоматическая форма php" должна иметь способность повторяться неограниченное количество раз на странице.
"Автоматическая форма php" должна иметь возможность изменения ширины.
"Автоматическая форма php" должна иметь возможность изменения типа поля ввода.
"Автоматическая форма php" должна иметь возможность изменения количества полей ввода.
Прототип автоматической формы php.
В связи с тем, что "автоматическая универсальная функция" несколько увеличилась в размерах, то теперь её можно скачать отдельным архивом здесь
Я не собираюсь вас уговаривать, и возможно, что с первого раза вам эта идея не зайдет...
Но после некоторого времени использования на сайте...
Не нужно каждый раз создавать стили, теги, ...всё в одной точке...
Единственный минус: нужно помнить, как заполнять форму(про атрибуты)... ну... здесь... могу сказать, что ничего не зная ... просто так ничего не возникнет...
Пример работы автоматической формы php.
Начнем с первого, простого примера работы функции...
Пример использования автоматической формы в php:
1 - количество полей ввода.
'', - атрибут action.(action)
post - метод post
example - префикс.
отправить - слово в {submit}(которое вы увидите в кнопке.)
text - тип полей ввода. (type="text")
250 - ширина формы. (width)
Вывод автоматической формы php.
Поместим приведенный код :
Прямо здесь:
Вывод автоматической формы php в Htmlspecialchars .
Пропустим нашу форму через "htmlspecialchars"... поскольку... данная форма формируется автоматически, то я её не могу вывести стационарно... поэтому выводим на лету:
<style> form.example_00 {width:250px;margin:auto;}form.example_00 input{cursor:pointer;display:block;width:100%;padding:10px 0;text-indent:10px;background:none;border:1px solid #ccc;border-radius:3px;font-family:inherit;font-size:1rem;color:#444;margin:10px auto;box-sizing: unset;}label input{display:inline-block !important;width:20px !important;}form.example_00 label{display:block;cursor:pointer}form.example_00 input[type="submit"] { text-indent: 0px !important;}</style>
<form id="form_example_00" method="post" class="example_00" action=""><input name="name_example_000" type="text" placeholder="" required><input name="sub_example_00" type="submit" value="отправить"></form>
Автоматической форма php с 2 input
На втором примере автоматической формы рассмотрим пример, если требуется вывести два поля input
Изменим количество полей формы - путь их будет 2
Один из важнейших атрибутов данной функции является аргумент "префикс" - в следующем примере изменим его на слово "west" + изменим ширину формы - 550:
Изменим слово в submit - "Сохранить"
выводим:
Пример автоматической формы №2
Пример автоматической формы с типом number
Для того, чтобы изменить тип полей ввода требуется изменить аргумент "type".
Изменим тип поля ввода на number
Выделено ниже красным:
Выведем с помощью echo
Пример автоматической формы с типом number
Пример автоматической формы с типом checkbox
Изменим тип поля ввода на checkbox
Выделено ниже красным:
Добавим тег label + нам потребуется пояснения напротив каждого checkbox.
Вначале пишется тип(checkbox), далее равно и текст(Выбрать чекбокс 1).
У нас будет два checkbox, поэтому пишем через звездочку"*" - параметры второго поля checkbox
Выведем с помощью echo
Пример автоматической формы с типом checkbox
Код автоматической формы с типом checkbox
Получим на лету форму выше приведенного кода:
<style> form.ex7 {width:200px;margin:auto;}form.ex7 input{cursor:pointer;display:block;width:100%;padding:10px 0;text-indent:10px;background:none;border:1px solid #ccc;border-radius:3px;font-family:inherit;font-size:1rem;color:#444;margin:10px auto;box-sizing: unset;}label input{display:inline-block !important;width:20px !important;}form.ex7 label{display:block;cursor:pointer}form.ex7 input[type="submit"] { text-indent: 0px !important;}</style>
<form id="form_ex7" method="post" class="ex7" action=""><label><input name="name_ex70" type="checkbox" value="ok"> Выбрать чекбокс 1</label><label><input name="name_ex71" type="checkbox" value="ok"> Выбрать чекбокс 2</label><input name="sub_ex7" type="submit" value="Сохранить"></form>
Добавление placeholder в автоматическую форму php.
Как добавить "placeholder в автоматическую форму php" ?
prefix - одновременно отвечает за placeholder!
Чтобы placeholder выводился требуется создать массив с тем же названием, что и "prefix"
Выводим:
Пример автоматической формы с placeholder
Добавление textarea в автоматическую форму php.
Для того, чтобы добавить textarea в автоматическую форму php надо использовать последнюю переменную в функции, например... выделено красным:
Первая позиция -100 - высота textarea (height)
Вторая позиция:
Если 0 - это растягивание в двух направлениях(resize:both;)
Если 1 - это растягивание в горизонтали(resize:horizontal;)
Если 2 - это растягивание в горизонтали(resize:vertical;)
Если 3 - это растягивание нет(resize:none;)
$ex = array('Введите пароль','Введите логин','Введите текст');
$ex_00 = dwForm('2','','post','ex', Отправить ,'text','600','
Вывод автоматической формы с textarea
Добавление атрибутов в textarea в автоматическую форму php.
Возможно добавление трех вариантов атрибутов:
Атрибут id(как вы знаете в js самое удобное это id).
Атрибут data - в функции прописано единственное возможное использование - "data-resize=name"(это для dw_resize) - для резинового textarea
И любой другой атрибут... ну например style:
Пример использования атрибута в textarea
Со всеми вариантами добавления атрибутов может потренироваться самостоятельно.
Самый интересный для меня - это второй...:
Код атрибута в textarea в автоматическую форму php.
$pref = array('Введите пароль','Введите логин','Введите текст');
$form_1 = dwForm('2','','post','pref', Отправить ,'text','600','
echo $form_1;
Применение атрибута в textarea в автоматическую форму php.
Submit в автоматическую форму php.
Чтобы совсем не была скучная кнопка "Submit" - ей можно добавить/изменить:
Первая позиция : текст:
Вторая - "up"(можно пусто '')
Третья - цвет :
текста, например - "red=white" - цвет текста красный, background "white"
После первой звездочки "hover" - например "white=red", при наведении цвет изменится на white, background
на "red"
После второй звездочки скорость перехода "секунды", например "2"
submit - выделен красным.
Здесь показано, как можно некоторые свойства выделить в отдельную переменную(кроме prefix - здесь переменная - $different - должна быть в виде массива(должно быть одинаковым - подсвечено фиолетовым.).)
$different = array('Введите пароль','Введите логин','Введите текст');
$submit = 'Цвет-submit,up,red=white*white=red*2';
$form_2 = dwForm('2','','post','different ', $submit ,'text','600','100,2+data-resize=name');
Все типы в автоматической форме php.
Предположим, что вам нужно вывести все типы, которые мы сверху перечислили...
Повторять всё заново не буду смотри код:
$example = array('Ваше имя','Введите пароль','Ваше емайл','','','текст в textarea');
$typ_e = 'text*password*email*checkbox=Выбрать чекбокс*radio=Выбрать радиоточку*';
$submit = 'Сохранить,up,red=white*white=red*2';
$form_3 = dwForm('5','','post','example',$submit ,$typ_e,'400','100,2+data-resize=name');
echo $form_3;
Обязательные и не обязательные поля в автоматической форме php.
Все типы в автоматической форме являются обязательными required, но если вам требуется какое-то поле сделать необязательным? Для этого вам понадобится:
Возьмем для примера форму из этого пункта.
В переменной $typ_e записываем необязательное поле, как +norequired
$d_to_s = array('Введите дни','введите часы','введите секунды');
$typ_e = 'number*number+norequired*number+norequired';
$day_to_second =
dwForm('3','#day_to_second','post','d_to_s','Конвертировать дни в секунды,up,red=white*white=red*2',$typ_e,'300',''); <a href=здесь_ссылка target=_blank>текст_ссылки</a>
И вы получите вот такой html код формы:
<style> form.d_to_s {width:300px;margin:auto;}form.d_to_s input{cursor:pointer;display:block;width:100%;padding:10px 0;text-indent:10px;background:none;border:1px solid #ccc;border-radius:3px;font-family:inherit;font-size:1rem;color:#444;margin:10px auto;box-sizing: unset;}label input{display:inline-block !important;width:20px !important;}form.d_to_s label{display:block;cursor:pointer}form.d_to_s input[type="submit"] { text-indent: 0px !important;text-transform:uppercase;transition:2s;color:red;background:white}form.d_to_s input[type="submit"]:hover {color:white;background:red}</style>
<form id="form_d_to_s" method="post" class="d_to_s" action="#day_to_second"><input name="name_d_to_s0" type="number" placeholder="Введите дни" ><input name="name_d_to_s1" type="number" placeholder="введите часы" ><input name="name_d_to_s2" type="number" placeholder="введите секунды" ><input name="sub_d_to_s" type="submit" value="Конвертировать дни в секунды"></form>
И форма с обязательными и не обязательными полями в автоматической форме php.
Атрибуты в автоматической форме php.
$c - сокращенно от count(считать) - количество полей ввода
Count - "число" полей ввода.
Не может быть словом.
Не может быть пустым.
echo dwForm(
//
$h - сокращенно от href/hashссылка
Href - "ссылка" либо на другую страницу, либо на часть страницы.
Может быть пустым.
echo dwForm($c,
//
$m - сокращенно от method(метод)
$p - сокращенно от prefix(префикс)
Prefix(префикс) - важнейших атрибут - требует уникальное имя на английском.
Делает форму уникальной.
Не может быть пустым.
echo dwForm($c,$h,$l,$m,
//
$s - сокращенно от submit
$s - передает в поле submit слово, например "отправить"
Не может быть пустым.
echo dwForm($c,$h,$l,$m,$p,
//
$t - сокращенно от type(тип)
echo dwForm($c,$h,$l,$m,$p,$s,$
//
$w - сокращенно от width(ширина)
$w - передает ширину формы в пикселях.
Не может быть пустым.
echo dwForm($c,$h,$l,$m,$p,$s,$t,
//
$ta - сокращенно от textarea(лейбл)
Тег textarea
Дополнительные атрибуты.
Основные атрибуты формы прописаны. Но вдруг вам хочется добавить какой-то новый атрибут, который не прописан в форме!
Есть три позиции:
Чтобы добавить в тег "textarea" любой дополнительный атрибут/несколько атрибутов в последнем атрибуте формы добавляем "
Например:
Нам требуется например(что-то больше ничего не придумал...)number с шагом(step), как добавить?
Добавляем опять + и ваши атрибуты...
Результат:
Свои комменты в ожидании переделки!
Когда сделаю не знаю!
Времени нет...
Иначе сообщение будет удалено, вас в бан - все просто!
Но если, сил нет как хочется высказать всё, что вы думаете об этом, пожалуйста - комменты от Vk - форма ниже: