Есть страничка sait.com/автомобили/ на ней обрабатывается POST запрос Из этого выходит два вопроса. Как при отправке POST данных средиректить на страничку вида sait.com/автомобили/москва/ Я побывал делать проверку если например указан город то мы редиректим на нужную страницу то так как город у конечной страницы всегда есть то бесконечный редирект получается Код (Text): $city = $_GET['city'] ?? $_POST['city'] ?? $_COOKIE['CookieCity'] ?? null; if(empty($city)) { header('Location: http://sait.com/автомобили/.'$city'./'); } и второй момент если провалиться дальше по ссылкам например http://sait.com/автомобили/москва/bmw.html а потом нажать в браузере назад то страничка не открывается в браузере ошибка Подтвердите повторную отправку формы Для корректного отображения веб-страницы требуются введенные ранее данные. Их можно отправить повторно, но в этом случае все действия на странице будут выполнены снова.
Это ни как не влияет на логику работы это только изменит само условие, а точнее просто перевернёт условие или
А что если перевести на русский язык то, что вы написали? Если город не имеет значения, тогда делаем редирект на http://sait.com/автомобили/[ПУСТО]/' Может быть так будет понятнее?
Если редиректить на http://sait.com/автомобили/москва/ то в $city будет записано москва следовательно если проверять if(empty($city)) будет бесконечный редирект если $city нет, то мне не нужен редирект. Куда его направлять то????Зачем? --- Добавлено --- Щас вот придумал конструкцию. Если вообще не обрабатывать на как $_POST а при его наличии редиректить на http://sait.com/автомобили/москва/ тогда я буду получать $_GET и уже $_GET обрабатывать тип if(empty($_POST['city']))
Код (Text): if(empty($city)) { header('Location: http://sait.com/автомобили/'); } else { header('Location: http://sait.com/автомобили/.'$city'./'); }
Щас вот придумал конструкцию. Если вообще не обрабатывать на как $_POST а при его наличии редиректить на http://sait.com/автомобили/москва/ тогда я буду получать $_GET и уже Это приведёт к бесконечному редиректу
Если в адресе нет города, для меня было бы логичнее видеть либо список городов, либо все машины. А у вас прям что-то шедевральное...
Выуживание $city из всего подряд – бред, т.к. у вас в $_GET мог остаться город от тупого рерайта. Проверяйте конкретный POST-параметр. --- Добавлено --- Также можно начать с проверки метода запроса, т.к. редирект в ответ на POST по-любому нужен. Второй вопрос, куда.
Эти проблемы решатся пост аякс запросами. Плюсом будет сохранение пользовательского ввода на странице и уведомления в модальных окнах если что-то не так.
Лови жабаскриптера! По-моему, тоже костыль. Эта проблема решается как два пальца об асфальт: руты и контроллеры. Что автору уже советовали умные седые головы в других постах. Так что тут проблемы не с кодом...