В теории, правда, есть третий вариант, о котором тоже рассказали два месяца назад.
что можно записать нужные данные в сессии, сделать редирект на file.htm, и там уже что-то пытаться выводить.
Но с SSI я работал 20 лет назад, и не возьмусь предсказать, какие могут возникнуть подводные камни.
Плюс опять же, этот колхоз будет на порядок костыльнее, чем стандартные варианты.
Дмитрий, регистрация у него идет раньше. А здесь он пытается вывести её обратно с ошибками заполнения - он же пишет об этом выше.
То есть это действительно та самая форма регистрации, которую каждый из нас делал раз миллион раз.
И вся проблема тут только в том, чтобы пользователь увидел в адресной строке не script.php, а file.htm. Причем проблема, решаемая опять же тривиально.
Это-то и вызывает изумление. Что человек бьется головой об стену, когда рядом стоит открытая дверь, через которую ходят толпы народа, вообще её не замечая.
ifap, послушайте Дмитрия, он дело говорит.
В нашей вселенной у вас всего два варианта, оба вам рассказали два месяца назад:
1. РНР скрипт, который без всяких выкрутасов обрабатывает форму и выводит результат. Если у вас случается несварение желудка когда вы видите script.php в адресной строке, то можно настроить веб-сервер, чтобы script.php выполнялся при запросе file.htm, file.jpg или просто file, вообще без всякого расширения. Это тривиальнейшая настройка, которую пользователи пхп называют ".htaccess".
2. Яваскрипт. Который отправляет данные на сервер, получает результат, и отображает его пользователю. Это тривиальнейший подход, который используется на подавляющем большинстве сайтов, включая этот
Дмитрий, проблема не в глупости вопроса. На Тостере каждый первый вопрос глупый. Но далеко не каждый так раздражает. На подавляющее большинство даются нормальные развернутые ответы.
Проблема не в вопросе, а в отношении к ответам. В отсутствии критического отношения к собственным гениальным идеям. В упрямстве, которое направлено не на достижение цели, а на попытки решить задачу самым кривым способом из доступных. В полном игнорировании любых предложений, которые расходятся с его собственными идеями.
Ему еще два месяца назад накидали идей, как все эти вещи рутинно решаются при нормальном подходе. И вместо всего этого - какой-то кадавр Content-Disposition: inline; filename=file.htm.
Я более-менее понял суть этих страданий. Ответ на которые я уже дал:
клиент должен был сразу запрашивать file.htm
Вы, конечно же, вместо того чтобы последовать совету, сразу начали его критиковать. Но это дело ваше я не буду настаивать.
Для меня загадкой осталось только одно - а почему в адресной строке-то обязательно должно быть только file.htm?
В качестве ответной любезности удовлетворю ваше любопытство
Куда забавнее, что Вы два месяца ждали
На самом деле все гораздо проще.
Увидев идиотский вопрос, я всегда смотрю историю вопросов, чтобы понять контекст. Это иногда помогает понять даже самых безумных гениев. В вашем случае не помогло.
Да не контроллер же
Ну вам же написали уже несколько раз. За работу со ссылками отвечают не контроллеры.
За это отвечает роутинг.
Именно в настройках роутинга прописывается, какой контроллер вызывать для той или иной сылки.
А уж как оно там внутри организовано - да как угодно
может быть один контроллер и на каталог и на товар
может быть два контроллера, один на показ каталога, а один на карточку товара.
Может быть еще как-то.
Деление не контроллеры в принципе условно. и совершенно не принципиально.
Для себя сделайте один пока, который отвечает за отображение каталога и отдельных товаров
Ну офигеть какая эрудиция :)
Только непонятно, при чем тут json.
У вас просто отличная теоретическая подготовка. Но надо все-таки иногда опускаться из сияющих теоретических высот к грешной земле
может и не привести
Может. Вот только вероятность этого стремится к нулю. Я думаю, даже вы, глядя на этот код, и сами согласитесь, что никакими set_error_handler, set_exception_handler и register_shutdown_function тут и близко не пахнет :)
А вот без установки режима выброса исключений, пиши-не пиши try catch - толку не будет.
Так что давая советы на хабре, рекомендую делать литсо попроще, и вместо сомнительной рекомендации "заворачивать разворачивать", давать более практичную - включить выброс исключений и отображения ошибок. Этого будет, во-первых, достаточно, а во-вторых, не будет приучать к порочной практике использовать трай для вывода ошибок. Таких советов и так слишком много в интернете. Даже в мануале по пхп только в этом году начали исправлять эту ересь.
что можно записать нужные данные в сессии, сделать редирект на file.htm, и там уже что-то пытаться выводить.
Но с SSI я работал 20 лет назад, и не возьмусь предсказать, какие могут возникнуть подводные камни.
Плюс опять же, этот колхоз будет на порядок костыльнее, чем стандартные варианты.