Привет. Хочу поделиться небольшой реализацией, которая значительно поможет сделать 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Пупкин
Данный метод уже используется на авито и во всех моих проектах.
Спасибо за внимание