Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Работа с HTML-формами в PHP

Работа с HTML-формами в PHP

Vitaly Voskobovich

February 21, 2015
Tweet

Other Decks in Education

Transcript

  1. Что такое HTML­форма? HTML­форма ­ ​ раздел документа, позволяющий отправлять

    информацию на PHP­обработчик (скрипт). Пример формы: <form action="form.php" method="post" ​ name​ ="auth"> <input type="text" name="login" placeholder="Login"/> <input type="text" name="pass" placeholder="Password"/> <input type="submit" value="Отправить"/> </form> Результат:
  2. Основные атрибуты формы 1. action ­ Определяет путь к скрипту

    который будет обрабатывать данные с формы. 2. method​ ­ HTTP­метод которым будет отправлена форма. Возможные значения: ​ get​ , ​ post По умолчанию: ​ get 3. name​ ­ имя формы (латиницей). Пример: ​ name=​ "login­form" 4. enctype​ ­ тип содержимого формы Для отправки файлов ​ обязательно​ нужно установить: method=​ "​ post​ " enctype=​ "​ multipart/form­data​ "
  3. Элементы HTML­формы Однострочное текстовое поле (text) <input type="​ text​ "

    name="login"> Поле ввода пароля (password) <input type="​ password​ " name="password"> Кнопка для отправки формы (submit) <input type="​ submit​ " value="Submit"> Кнопка сброса значений полей формы (reset) <input type="​ reset​ " value="Reset"> Флажок (checkbox) <input type="​ checkbox​ " name="i_agree" value="1">
  4. Переключатель (radio) <input type="​ radio​ " name="color" value="White"> <input type="​

    radio​ " name="color" value="Black"> Скрытое текстовое поле (hidden) <input type="​ hidden​ " name="data" value="secret"> Выпадающий список (select) <​ select​ name="city"> <option value="1">Киев</option> <option value="2">Одесса</option> </​ select​ > Многострочное текстовое поле (textarea) <​ textarea​ name="comment"> Текст по умолчанию </​ textarea​ >
  5. Кнопка выбора файла (Выберите файл) <input type="​ file​ " name="my_file">

    Результат: Более детально смотри на ​ htmlbook.ru
  6. Массив $_GET $_GET ­ суперглобальный ассоциативный массив параметров, переданных скрипту

    через HTTP метод GET (то есть через URL). Получения данных с GET­формы в PHP Файл index.html: <form action="​ form.php​ " method="​ get​ "> Запрос: <input type="​ text​ " name="query"> Точное вхождение <input type="​ checkbox​ " name="exact_match" value="1"> <input type="submit" value="Найти!"> </form>
  7. Файл form.php: <?php print_r(​ $_GET​ ); ?> Результат: После отправки

    GET­формы, значения ее полей попадают в GET­параметры URL­адреса и после этого становятся доступны в суперглобальном массиве $_GET вашего PHP­скрипта.
  8. Массив $_POST $_POST ­ суперглобальный ассоциативный массив данных, переданных скрипту

    через HTTP метод POST. Получения данных с POST­формы в PHP Файл index.html: <form action="​ form.php​ " method="​ post​ "> Email: <input type="​ text​ " name="login"> Password: <input type="​ password​ " name="password"> <input type="submit" value="Войти"> </form> Файл form.php: <?php print_r(​ $_POST​ ); ?>
  9. Результат: Данные отправленные с формы методом POST остаются невидимыми​ для

    глаз пользователя. Этим методом безопасно передавать конфиденциальные данные пользователей. Например данные для входа на сайт.
  10. Массивы значений с формы 1. Многовариантный список значений (select multiple)

    <form action="form.php" method="post"> <​ select​ name="​ cities[]​ " ​ multiple​ > <option value="Одесса">Одесса</option> <option value="Киев">Киев</option> <option value="Львов">Львов</option> </​ select​ > <input type="submit" value="Едем!"> </form> Результат:
  11. 2. Группа переключателей (radio) <form action="form.php" method="post"> <input type="​ radio​

    " name="​ criteria[city]​ " value="Одесса"> <input type="​ radio​ " name="​ criteria[city]​ " value="Киев"> <input type="​ radio​ " name="​ criteria[age]​ " value="18­20"> <input type="​ radio​ " name="​ criteria[age]​ " value="21­40"> <input type="submit" value="Найти!"> </form>
  12. Результат: 3. Все остальные поля <form action="form.php" method="post"> Шаг 1:

    <input type="​ text​ " name="​ step[]​ "> Шаг 2: <input type="​ text​ " name="​ step[]​ "> Шаг 3: <input type="​ text​ " name="​ step[]​ "> <input type="submit" value="Добавить!"> </form>
  13. Массив $_REQUEST $_REQUEST ­ суперглобальный ассоциативный массив, который по умолчанию

    содержит данные из массивов $_GET, $_POST и $_COOKIE. <?php print_r(​ $_REQUEST​ ); ?> Рекомендуется использовать только для отладки кода! Значения переменных одного массива могут быть затерты значениями другого массива.
  14. Массив $_COOKIE $_COOKIE ­ суперглобальный ассоциативный массив значений, переданных скрипту

    через HTTP Cookie. HTTP Cookie ­ это информация, которая хранится ​ в браузере и отправляется на сервер вместе с остальными данными при любом запросе ​ через браузер​ . Куки крадут и подделывают! Не стоит в них хранить пароли пользователя, номера телефонов и кредитных карт :)