Это хорошо, но если вы соизволили отрицать человеку, почему бы с вашей стороны не объяснить в чем суть проблемы? А не писать «автор г? вно, топик в топку»?
автор не спрашивал совета и никто не писал плохого на автора и его топик. Вы слишком критичны. ему лишь деликатно намекнули, что он пришел к неправильным выводам.
Нет, это стандартный механизм перенаправления на адрес со слешем в конце. А при перенаправлении Вообще, все это логично, но все равно несколько неожиданно.
а не проще использовать обертку для всех приходящих данных, какой нибудь Request, в котором можно методами getParam() и getParams(), или вообще по $request->someproperty вытащить любые данные откуда бы они не пришли?
На высоком уровне, как правило, можно так и делать, но это не решает описанную проблему, POST-запрос посланный на URL папки без слеша, превратится в пустой GET-запрос без параметров
Схема такая
1. Мы посылаем POST на mysite/mydir
2. Сервер отвечает нам 301 на mysite/mydir/ (почему это правильно, описано в документации к Апачу см. ссылку выше в посте Nikita)
3. Браузер делает GET без параметров на mysite/mydir/ (так и надо делать, это описано в RFC 2616)
А смысл ей менять локейшн на тот на котором она находиться. Видимо трабла вся в это, хотя мож это и в хроме было, но такой глюк ловил частенько раньше.
Описанная в топике проблема — это полная потеря параметров + смена типа запроса.
А вообще, разница между GET и POST есть. Обычно страница работает в двух режимах по GET-запросу что-то выводится, и есть кнопка, чтобы что-то изменить и послать POST-запрос.
В коде страницы обычно проверяется тип запроса и в зависимости от этого либо читаются, либо записываются данные. Вы же предлагаете проверять наличие конкретных переменных в общем массиве GET+POST и в зависимости от наличия или отсутствия каких-то из них выбирать режим. Так?
Это не очень хорошо т.к. увеличивает связанность кода. И заставляет держать в уме какие из переменных являются ключевыми при внесения изменений во все части сайта, где формируются ссылки на эту страницу, а также при изменении полей формы самой этой страницы.
Почему POST превращается в GET