Как перезагрузить страницу, перезапустить php-код — PHP — Форумы SitePoint
rambleon 1
Привет, у меня есть веб-сайт с несколькими пунктами меню/ссылками.
Все страницы по существу одинаковы, за исключением цикла php, который выбирает различный контент из файла json, поэтому мне было интересно, как перезагрузить одну страницу и просто запустить другой php-код в соответствии с выбранным пунктом меню.
Спасибо за любую помощь
droopsnoot 2
Это зависит от того, какие это ссылки. Если это обычные ссылки
, вы можете вставить код в конец URL-адреса, и при отображении страницы предоставить контент, соответствующий этому коду.
, вы можете использовать Javascript для перехвата onChange()
, вызовите небольшой сценарий, чтобы получить другое содержимое, и вставьте его прямо в документ.3
JavaScript используется для изменения страниц в браузере без повторного обращения к серверу. Вы можете значительно сократить и даже полностью исключить круговые обращения к серверу, создав SPA, а не традиционную серию веб-страниц, отображаемых сервером. Устаревший способ сделать это состоит в том, чтобы разбить частичный HTML-код почты, полученный с сервера, и добавить его на страницу с помощью JavaScript. Однако у такого подхода в масштабе есть огромное количество недостатков. Таким образом, появление современных инноваций MVVM (модель-представление-представление-модель); Реагировать, Vue и Angular.
рамблеон 4
Большое спасибо за это, я новичок в PHP и Javascript, поэтому я не понимаю, как реализовать ваши решения.
Ссылки, которые у меня есть:
Масло на
Холсте Акрил, Карандаш,
Акварель
И php код, который мне нужно изменить
if ($entry['medium'] == "Холст, масло") {
до
if ($entry['medium'] == "Акрил") {
Я хотел бы использовать только index. php и не перенаправлять на акриловый.php. Любые фрагменты того, как я могу это сделать, очень ценятся.
Спасибо
контргайка 5
Проще всего, если вы можете немного изменить ситуацию, изменить ваши ссылки, чтобы они были:
холст, маслоАкрил, Карандаш,
Акварель
И затем код вашего меню:
if (strtolower ($_GET['medium']) == "масло") {
1 Нравится
Рамблеон 6
Спасибо Tracknut,
Это сработало отлично — после добавления
(! isset($_GET['средний'])
на смесь.
Большое спасибо.
1 Нравится
система Закрыто 7
Эта тема была автоматически закрыта через 91 день после последнего ответа. Новые ответы больше не допускаются.
Решено — Ошибка PHP: «Пожалуйста, перезагрузите страницу через несколько секунд».
Азурел
Серебряный Плескиан
- #1
- Версия вашей ОС
- АлмаЛинукс 8.6
- Версия Plesk
- 18. 0.47
Здесь что-то изменилось в plesk? Очень редко пользователь может создать ошибку php из-за ошибки памяти.
предыдущий вывод:
500 — Внутренняя ошибка сервера.
Пожалуйста, перезагрузите страницу через несколько секунд.Нажмите, чтобы развернуть…
и в error_log нашел причину. Это было прекрасно. Теперь посетители видят/сообщают причину:
Неустранимая ошибка: Исчерпан допустимый размер памяти 134217728 байт (попытка выделить 20480 байт) в /var/www/vhosts/……./file.php в строке XXXX
500 — Внутренняя ошибка сервера.
Пожалуйста, перезагрузите страницу через несколько секунд.Нажмите, чтобы развернуть…
Как удалить первую строку? Я никогда не хочу, чтобы посетители видели причину и/или полный путь к скрипту.
У меня есть PHP-Error-Handler, но эта ошибка возникает из php/plesk и там останавливается. Это новая ошибка в настройках plesk/php?
Каспар
Эксперт API
- #2
В Plesk проверьте,0015 display_errors параметр отключен, на domain.com ->
Азурел
Серебряный Плескиан
- #3
Display_errors выключен (по умолчанию)
Вот почему я задаюсь этим вопросом.
Каспар
Эксперт API
- #4
Проверяли ли вы с помощью phpinfo()
, действительно ли эта настройка отключена?
Кроме того, может ли на вашем веб-сайте или в приложении быть что-то, что отменяло бы значение по умолчанию для display_errors? Например, ini_set('display_errors', 1)
в любом коде?
Последнее редактирование: