Сокращение числа лишних переменных из HTML формы

Сделаем WEB чище.

Привет. Хочу поделиться небольшой реализацией, которая значительно поможет сделать WEB чище. Давайте представим перед глазами большую WEB HTML форму. Например, поисковую форму с большущим фильтром. При нажатии на результирующую кнопку «поиск» - на выход передается полностью содержание всей формы со всеми пустыми значениями, даже если фильтр не использовался. И весь этот хвост передается из формы в форму при перелистывании страницы. Этот большой ненужный хвост попадает в избранное, попадает в часто посещаемые страницы браузера и наводит ужас своей неочевидностью.

Result.php?&text=Вася%20Пупкин&date_begin=&date_end=&status=&on_page=&city=&email=&year=&month=&day=&money_from=&money_to=

Ааааа. Отправьте веб страницу помыться, не пугайте посетителей

 

Реализация заключается в создании простого скриптика, который будет получать весь этот мусор, чистить его и переадресовывать на нужную страницу. Да, нагрузка всего-лишь, чуть-чуть возрастет, время ожидания чуть-чуть повысится, зато в дальнейшем – при всей обработке ненужных показателей – те же ресурсы будут сэкономлены, а заодно и каждый раз, когда пользователь будет заходить по выданной ему странице

Так вот. Каждую большую GET форму проекта нужно слегка видоизменить. А именно – установить метод передачи в POST. И создать скрытое поле, в котором будет храниться страница, на которую нужно переадресовать. Все достаточно просто настраивается.

Итак, преобразуем

<form action="result.php" method="GET">

В

<form action="toget.php" method="POST">
<input type="hidden" name="acts" value="result.php">

И создаем файл toget.php с содержанием

<?php
if (empty($_POST['acts']))die();
$act=$_POST['acts'];
unset($_POST['acts']);
foreach ($_POST as $key=>$value){
    if ($value==='')unset($_POST[$key]);
}
$act.='?'.urldecode(html_entity_decode(http_build_query($_POST)));
header('location: '.$act);

Как видим, все очень просто. Если в какой-либо форме параметр acts уже используется – можно его заменить на что-то другое. Если форма одна – можно вообще от него отказаться. Все очень гибко.

Один миниатюрный файл, а сколько счастья. Сделаем WEB чище

Result.php?&text=Вася%20Пупкин

Данный метод уже используется на авито и во всех моих проектах.

Спасибо за внимание

  • Автор: kosmom
  • Рейтинг: 0
  • Просмотров: 905
  • Комментариев: 0
  • Создан: 07.05.2013 15:56

Комментарии (0)

Ваши предложения и пожелания пишите на pro@kosmom.ru

Теги

backup bootstrap core framework eloquent excel home project html ios javascript keep-alive kpi laravel legacy mvp orm php rip scroll timestamp undefined vue vuetify watch безопасность биометрический паспорт ваша любаша для путешествий загран на 10 лет загран паспорт загранпаспорт нового образца зимние книги как заполнить анкеты кеширование книги на новый год логирование мцф недвижимость новогодние книги образец заполнения антеты паспорт для путешествий паспорт нового поколения печать продукт проектирование прокси разработка ремонт ремонт в апартаментах ремонт нежилого помещения самокат сдача сколько стоил ремонт апартаментов спорт стандарты таблица финансы хостинг цена ремонта что почитать зимой юзабилити

Случайный пост

29.12.2011 15:30
Приобретение квартиры в ипотеку в Москве или Подмосковье