Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
автор_#755:
> и что в данном подходе криминального?
таким запросам не место в get, так как во-первых отображается то что не должно быть на виду, во-вторых это явно говорит о том что разработчики возможно и думали о безопасности(?) но никак не о эффективной эксплуатации системы
т.е. если страница должна иметь возможность положить в закладки, то в все равно не нужно называть переменные !целыми предложениями! как в говнокоде что ниже я запостил типа hotelPackageWizard_hotelPackageWizardCon trol_hotelWidgetControl_hotelSearchRegio nControl_hotelRegionTypeControl_inpRegio nType
а ведь это не php-шники писали а asp-шники, причем на крупном мировом портале
страйкер:
а какие есть варианты более достойной реализации? Не отсылать незаполненные поля можно реализовать только с помощью js. Либо на стороне сервера получать все переменные и редиректить уже на страницу поиска, предварительно исключив все пустые поля. Еще есть вариант с хранением всех переменных поиска в сессии или POST (хотя POST больше подходит именно для модификации сущностей, а не для отображения), но и этот вариант несёт с собой кучу граблей.
автор_№755:
страйкер, тут вопрос даже не по какому каналу отсылать запрос а в крике души:)
сижу пью пиво, зашел на очень ну очень крупный мировой сервис и набрал сайдбар форму .. в итоге вот это мне выдала она
и когда такой тяжеловес кладет своим толстым на "стандарты" что уже говорить о мелких .. я понимаю что времена ограничений на get со стороны браузеров и серверов уже позади .. но все же есть некий "стандарт" http а не Войну и Мир в get запихнуть и передавать в БД
cheef:
Согласно тому же http-стандарту, в url есть параметр query_string. Всё что подходит под него, должно быть в урле, а остальное - лишнее.
В приведённом примере не всё так однозначно, возможно фильтры стоит передавать как раз POST-ом, в виде массивов, а, например, page в урле.
биллинг на php...
наверное сложно разработчику реализовать, чтоб пустые фильтры не передвавались GET-ом
и что в данном подходе криминального?
> и что в данном подходе криминального?
таким запросам не место в get, так как во-первых отображается то что не должно быть на виду, во-вторых это явно говорит о том что разработчики возможно и думали о безопасности(?) но никак не о эффективной эксплуатации системы
т.е. если страница должна иметь возможность положить в закладки, то в все равно не нужно называть переменные !целыми предложениями! как в говнокоде что ниже я запостил типа hotelPackageWizard_hotelPackageWizardCon trol_hotelWidgetControl_hotelSearchRegio nControl_hotelRegionTypeControl_inpRegio nType
а ведь это не php-шники писали а asp-шники, причем на крупном мировом портале
а какие есть варианты более достойной реализации? Не отсылать незаполненные поля можно реализовать только с помощью js. Либо на стороне сервера получать все переменные и редиректить уже на страницу поиска, предварительно исключив все пустые поля. Еще есть вариант с хранением всех переменных поиска в сессии или POST (хотя POST больше подходит именно для модификации сущностей, а не для отображения), но и этот вариант несёт с собой кучу граблей.
страйкер, тут вопрос даже не по какому каналу отсылать запрос а в крике души:)
сижу пью пиво, зашел на очень ну очень крупный мировой сервис и набрал сайдбар форму .. в итоге вот это мне выдала она
и когда такой тяжеловес кладет своим толстым на "стандарты" что уже говорить о мелких .. я понимаю что времена ограничений на get со стороны браузеров и серверов уже позади .. но все же есть некий "стандарт" http а не Войну и Мир в get запихнуть и передавать в БД
Согласно тому же http-стандарту, в url есть параметр query_string. Всё что подходит под него, должно быть в урле, а остальное - лишнее.
В приведённом примере не всё так однозначно, возможно фильтры стоит передавать как раз POST-ом, в виде массивов, а, например, page в урле.
https://******.ru/services/traf?ticket=*24B*24CAIDGDEJ*24bKY8ZsX2XX 0na1JjmBlwgA*1cUAEIFDJ