Если ты откроешь в одной вкладке одну новость, потом в другой - другую, потом обновишь первую, то там будет отображаться вторая новость => Нелогичное поведение.
Сколько новостей, столько и переменных можно установить (Добавление)
Первый вариант я и поставил первым, т.к. мне больше нравится.
Есть блок вывода новостей. Для каждой новости есть кнопочка для перехода к полной новости. У меня дилемма, откуда правильно,лучше получать эту самую полную новость.
У меня навскидку варианты:
1. Передавать по клику кнопки через GET 'id' конкретной новости. делать запрос в БД по id, затем выводить полученную из БД новость на отдельной страничке, куда передавали id.
2. При выводе всего списка новостей, изначально запоминать и полную новость в какой нибудь сессионной переменной и на страничке конкретной новости читать полную новость из сессионной переменной.
3. Вариация второго варианта - только передавать полную новость не через сессионную переменную, а через POST форму в скрытом поле передавать полную новость из изначального запроса, который был выполнен для вывода списка всех новостей на страничку конкретной новости.
Тогда не получится. Это же представление. И в маршрутизаторе идет вызов именно html файлов. И все эти три файла из одного модуля - это именно представления. Просто три разные - в зависимости от состояния приложения. Поэтому я их и объединил в один html файл.
Строитель пишет:
Если я не ошибаюсь, расширение файла с пхп кодом внутри не имеет значения только в том случае, если этот файл (в вашем случае *.html) подключается в пхп файл, и если в этом (*.html) файле пхп код снабжён соответствующими открывающими/закрывающими пхп тегами.
Я не про синтаксис. Вопрос как раз в неписаных правилах..
Не с первого раза разобрался. А теперь появились вопросы:
Если я правильно понял. данный вариант предлагается взамен моего варианта, но все внутри того же html файла?
Меня этот меммент волновал в первую очередь - полностью код php в html файле. Насколько это корректно? Но роутер в точке входа не очень хочется обременять дополнительными исключениями, тем более ради одного модуля.
Другой момент - Может это только мне и по неопытности - обработка сложная/замысловатая(хотя может это мне так кажется, я функциями поиска в массиве и файлов не пользовался) на первый взгляд и объем кода не меньше, чем в первом варианте, в чем преимущества?
И попутно к этому же вопрос: Я несмотря на то, что почитал в разных источниках про file_exists, не понял, где конкретно будет вестись поиск? Весь сервер лопатить или только в пределах сайта и сколько времени будет занимать сам поиск?
П.С.: В 10 и 11 строках наверное расширения html должны быть указаны?
Опять таки очередная проблема.. :
У меня практически везде структура: МОДУЛЬ+ФАЙЛ+КЛЮЧИ-ПАРАМЕТРЫ и название файла представления совпадает с названием модуля.
Есть один модуль(app), в котором в зависимости от определенных условиы выводится три разные формы = три разных независимых файла с формами. Названия у них разные, поэтому в общий маршрутизатор они не особо вписываются. Нужно в самом маршрутизаторе прописывать относительно много условий. После многочасового мозгового штурма я сделал так: сделал один app.html файл , а в этом файле прописал минимаршрутизатор для этих трех файлов представления:
С одной стороны - работает, и основной маршрутизатор теперь выглядит просто и понятно, с другой стороны - имею html файл чисто с php кодом..
Выглядит бредово, но другое мне в голову не приходит. Может подкините идей решения вопроса?
День добрый!
Есть задача - если в строке последний символ например слеш, нужно вернуть строку без слеша. Какими средствами это правильно решать? Тут чисто строковые функции применять не очень наверное правильно? С регулярными выражениями(если они тут в помощь) - пока не очень дружу, только в планах.
На строковых функциях я сделал, но наверное это похоже на чесание левого уха правой рукой...
Перехожу на ЧПУ, столкнулся с проблемой, не могу отловить причину. может кто подскажет:
Схема у меня такая: Если после index.php? был один параметр(page=...) - это страница представления без скрипта, просто статичная html страница(в качестве модуля подключался дефолтный), если два параметра(module=...&page=...), первый соответственно название модуля, второй - имя скрипта. Т.е. МОДУЛЬ+ФАЙЛ в любом случае, а файл или php или html в зависимости от того, был указан модуль в параметрах или нет.
В ядре у меня вот такие подключения:
Если в адресной строке указать только один параметр, вывод идет в браузер как положено, если два параметра(есть модуль и скрипт) - правильный модуль подгружается, правильный скрипт работает, и даже разметка есть, но не учитываются стили. Не могу понять, почему теряются..
(Добавление)
Причину нашел, но чисто интуитивно. Я не понял, почему так происходит, может кто посветит...
Файлы представления просто не видели стили, находящиеся в общей папке для всего сайта. У меня предусмотрено наличие разных скинов для сайта. Так, стили для конкретного скина(в моем случае - дефолтного) заработали после копирования стилей и изображений в папку конкретного скина(в моем случае - дефолтного)
Спасибо. теперь вижу какая проблема с переадресацией. Спасибо за вариант решения! Но насколько я понимаю - это "костыль" и нужно пересматривать решение с переадресией на ошибку?
И попутно вопрос: Стоит ли озаботиться обработкой такой ошибки? Я имею в виду - переадресации, обработка и вывод ошибок на экран, или пусть этим браузер занимается? Это по сути довольно не стандартная ситуация - подделка куки, либо еще вариант - какие-то ошибки в БД
Как вариант, возможно проще, и мне так логически понятнее - просто удалять куку у клиента?
Плюсик за помощь не имею технической возможности поставить...
А редирект выполняется на эту же страницу? Я так понимаю, весь ваш этот код прописан в файле index.php, и редирект выполняется на него же, но с передачей некоторых get-параметров?
Скрипт отдельный, но инклюдится каждый раз в index.php. Наверное, нельзя сказать, что редиректит прям на себя, а в части представления через маршрутизатор подключается HTML файл exit.html.
Добавил проверку, работает, но раз 10 уже перечитал, никак не въеду в суть этой проверки в контексте.... Можете объяснить ход мыслей для тех кто в танке??
То, кудя я делал переадресацию мне понятно. а тут ступор... Причем в другах участках кода такая же переадресация, и там редиректит без проблем.