Urlencode расширенная практика применения

UrlEncode — php-функция, которая подготавливает значение для использования его как часть html ссылки, заменяя спец. символы, кириллицу и т.п. на закодированные hex значения. Обычно так подготавливают GET параметры, передаваемые в url:

URLencode и массивы

Ф-ция urlencode работает только со скалярами. Если вам необходимо сформировать GET параметры из набора параметров (массива) или даже массива массивов, то следует воспользоваться более мощной функцией — http_build_query().

Сформируем ссылку из массива параметров и посмотрим, как эти данные вернутся в $_GET.

URLencode и HTML FORM

Если нужно передать массив параметров в составе формы, как часть данных этой формы, то можно поступить двумя способами:

Передача данных через action

Так можно передать данные, только если установлен тип отправки данных — POST.

или

Если выбрать метод GET, то вместо параметров action в GET будут переданы данные самой формы.

Формирование полей формы

Для случая формы мы также можем сформировать набор «скрытых» полей. Никакие специальные функции PHP здесь не понадобятся, все придется делать самим.

У меня получилась вот такая функция для создания набора тегов input :

В качестве первого параметра она принимает массив данных. Второй параметр позволяет указать имя переменной. Функция работает рекурсивно, так что массив может быть многократно вложенным.

Добавим результат её работы в форму:

В случае нашего массива $a, получим следующий html-код:

Urlencode online

Применение urlencode() очень узкое, на практике больше возникает необходимости в использовании http_build_query(). А в случае подготовки форм, так и вообще обе остаются не у дел.

Чтобы полностью закрыть вопросы с urlencode, предлагаю посмотреть как работает функция «вживую»:

Введите данные для обработки PHP URLencode():


Написать комментарий

Мало букафф? Читайте есчо !

Регистрация/авторизация в Drupal по учетке в соц.сетях

Май 12, 2013 г.

Самое не приятное, с чем можно встретиться на многих сайтах - это регистрация учетной записи. Неприятное ощущение усиливается ещё и от контраста - везде ...

Читать

Восстанавливаем объект из состояния __PHP_Incomplete_Class_Name

Декабрь 13, 2014 г.

Объект класса "__PHP_Incomplete_Class" с дополнительным свойством __PHP_Incomplete_Class_Name => 'имя класса' появляется, когда PHP не удается найти объявление класса при операции десериализации объекта. К примеру, такое может происходить при хранении ...

Читать

 

Комментарии к «Urlencode расширенная практика применения»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: