Pull to refresh

Comments 41

Это хорошо, но если вы соизволили отрицать человеку, почему бы с вашей стороны не объяснить в чем суть проблемы? А не писать «автор г? вно, топик в топку»?
автор не спрашивал совета и никто не писал плохого на автора и его топик. Вы слишком критичны. ему лишь деликатно намекнули, что он пришел к неправильным выводам.
критичен, так как duncanf1 показал, что знает в чем проблема, так почему бы не помочь человеку и обьясить.
Подскажите, в чем ошибка?
для точного ответа нехватает всех параметров. Возможен так же паразитный редирект, к примеру в файле htaccess,
Нет, это стандартный механизм перенаправления на адрес со слешем в конце. А при перенаправлении Вообще, все это логично, но все равно несколько неожиданно.
спасибо за сохраненное время. такие «проблемки» обычно пожирают не один час времени.
а зачем вообще было проверять метод?
Искал параметры в $_POST и не находил их там.
а не проще использовать обертку для всех приходящих данных, какой нибудь Request, в котором можно методами getParam() и getParams(), или вообще по $request->someproperty вытащить любые данные откуда бы они не пришли?
На высоком уровне, как правило, можно так и делать, но это не решает описанную проблему, POST-запрос посланный на URL папки без слеша, превратится в пустой GET-запрос без параметров
Странно, но почему-то у меня так не происходит. Я что-то делаю не так?

Хотя однажды я сталкивался с такой проблемой, она решилась переписыванием никчемного .htaccess.
Схема такая
1. Мы посылаем POST на mysite/mydir
2. Сервер отвечает нам 301 на mysite/mydir/ (почему это правильно, описано в документации к Апачу см. ссылку выше в посте Nikita)
3. Браузер делает GET без параметров на mysite/mydir/ (так и надо делать, это описано в RFC 2616)

В итоге мы теряем запрос.
UFO just landed and posted this here
Знаете, я не знаю как вам ответить, надеюсь это такая неудачная шутка.
UFO just landed and posted this here
Тогда вам явно не стоит использовать популярные фреймворки.
UFO just landed and posted this here
ZF, Symfony — там это все есть, можно получить как данные как указав откуда, к примеру getPostParameters(), так и получив из любого исочника.
UFO just landed and posted this here
UFO just landed and posted this here
Не сказал бы что самое удачное решение
UFO just landed and posted this here
При таком способе у вас будет много проблем, если я несколько раз нажму F5. Точнее, проблема то будет одна, а клонированных данных — много.
UFO just landed and posted this here
Если не ошибаюсь (давно просто не занимался такими вещами), то вроде опере плевать на такой редирект — поэтому проблема никак не исчезает.
UFO just landed and posted this here
А смысл ей менять локейшн на тот на котором она находиться. Видимо трабла вся в это, хотя мож это и в хроме было, но такой глюк ловил частенько раньше.
UFO just landed and posted this here
Мы сейчас вроде говорим о контексте одной страницы, что если данные есть — выводим результат, если нет — то форму.
UFO just landed and posted this here
Описанная в топике проблема — это полная потеря параметров + смена типа запроса.

А вообще, разница между GET и POST есть. Обычно страница работает в двух режимах по GET-запросу что-то выводится, и есть кнопка, чтобы что-то изменить и послать POST-запрос.

В коде страницы обычно проверяется тип запроса и в зависимости от этого либо читаются, либо записываются данные. Вы же предлагаете проверять наличие конкретных переменных в общем массиве GET+POST и в зависимости от наличия или отсутствия каких-то из них выбирать режим. Так?

Это не очень хорошо т.к. увеличивает связанность кода. И заставляет держать в уме какие из переменных являются ключевыми при внесения изменений во все части сайта, где формируются ссылки на эту страницу, а также при изменении полей формы самой этой страницы.
UFO just landed and posted this here
UFO just landed and posted this here
а еще если одновременно приходят и POST, и GET запросы, $_SERVER['REQUEST_METHOD'] выдаст что пришел только GET )
Как это одновременно?
<form method="POST" action="http://myhost/mydir/?page=10">
<input type="submit" value="→" />
</form>

но это извращение)

З.Ы. при этом все переменные доступны…
UFO just landed and posted this here
Sign up to leave a comment.

Articles