Php код для обновления страницы

Обновить страницу с помощью PHP

Как я могу периодически обновлять страницу с помощью PHP? Если я не могу сделать это с помощью PHP, каков наилучший рекомендуемый сценарий?

мы говорим о синхронизации (вы сталкиваетесь с ситуацией, когда вы хотите обновить во время анализа вашего php-скрипта) refrehs (мета-обновление будет работать нормально) или об асинхронном непрерывном обновлении страницы (больше похоже на javascript / ajax)?

13 ответов

Вы можете сделать это с помощью PHP:

Он обновляет текущую страницу, и если вам нужно перенаправить ее на другую страницу, используйте следующую команду:

header("Refresh:0; url=page2.php"); 

Обновить не является официальным заголовком, но поддерживается многими браузерами, начиная с Netscape Navigator. Это означает, что вам придется проверить, чтобы убедиться, что ваша аудитория использует поддерживающие браузеры.

Использование 0 будет постоянно забивать ваш сервер и / или локальный кеш, особенно если у вас есть изображения на странице. Если вам нужно только обновить информацию на экране, например, цены на акции, но не использовать эту информацию в форме или из javascript, возможно, используйте тег iframe, указывающий на страницу только с обновляемой информацией, и с задержкой, соответствующей тому, как актуальная информация должна быть.

В PHP вы можете использовать:

$page = $_SERVER['PHP_SELF']; $sec = "10"; header("Refresh: $sec; url=$page"); 

Или просто используйте JavaScript window.location.reload() .

Заголовок Yazana (‘Location:’) используется для перенаправления пользователя на любой URL, вы не можете обновить страницу, используя его.

Pratik. Вы неправы. вы действительно можете использовать заголовок («refresh:»), чтобы обновить страницу

Вы можете сделать и то и другое, хотя я предпочитаю не ждать времени с: header(«Location: «.$_SERVER[‘PHP_SELF’]);

Примечание об этом решении: если на вашем сайте реализована какая-то приятная маршрутизация или перезапись URL (т. $_SERVER[‘PHP_SELF’] Практически любая инфраструктура по умолчанию), вы можете обнаружить, что $_SERVER[‘PHP_SELF’] дает вам истинный путь к сценарию, а не фактический URL, который вы $_SERVER[‘PHP_SELF’] увидеть в вашем браузере. В этом случае попробуйте использовать $_SERVER[‘REQUEST_URI’] .

что просто возможно с заголовком() в php

header('Refresh: 1; url=index.php'); 

Вы можете периодически обновлять страницу с помощью PHP:

Это обновит страницу каждые три секунды.

Создайте инструкцию if . Если требуется обновление, echo:

Как указано в @warren, приведенный выше код немедленно обновит страницу. Вы можете установить время с помощью content vall

да, я комментирую этот ответ: всегда есть возможности для улучшения. И вы правы, вы можете установить content равным любому значению в секундах — мой комментарий все же стоит отметить, что обновление 0 секунд, вероятно, не то, что вы собираетесь 🙂

Читайте также:  Css появляется элемент при наведении

@Mathlight и кто-либо еще жалуется на задержку комментариев. Просто потому, что вы, возможно, пошли дальше, будущий читатель, возможно, только что столкнулся с проблемой, и ваш ответ / комментарий, наряду с любыми задержанными, оспаривающими его, все же может иметь отношение к ним.

@Mathlight Я не уверен, почему люди думают, что только потому, что пост старый, не может быть никакого смысла комментировать его. Вы должны избавиться от этого мышления.

Я нашел 2 способа обновления содержимого PHP:

1. Использование HTML META:

echo(""); //Refresh by HTTP META 

2. Использование PHP REFRESH RATE:

$delay=0; //Where 0 is an example of time Delay you can use 5 for 5 seconds for example ! header("Refresh: $delay;"); 

//Refresh by HTTP META => // Refresh by HTML META также это выглядит как ответ, скопированный сверху.

Эхо метатег: URL-адрес — это тот, где страница должна быть перенаправлена ​​после обновления.

Вы не можете сделать это в PHP. После загрузки страницы PHP умирает и выходит из-под контроля.

У вас есть несколько вариантов:

Я думаю, что обновить метатег является самым простым и удобным.

Неправильно, вы можете периодически обновлять страницу, используя PHP, если вы используете функцию заголовка PHP следующим образом: header («refresh: 3;»);

Вы можете обновить страницу в PHP, используя заголовок. Кроме того, использование META REFRESH НЕ идеально для SEO.

Я думаю, что это неправильно, всегда есть способ: я думаю, что если он захочет обновить страницу с помощью php, то через некоторое время может отправить запрос ajax на страницу с кодом обновления php. но вообще твой ответ хорош

Как только страница загружена, PHP умирает и выходит из-под контроля. Все остальные методы являются хитростями на стороне клиента, чтобы снова подключиться к серверу и перезагрузить страницу

Это совершенно неправильно! Всеми возможными способами. Это может быть сделано с помощью PHP, заголовков (обновление) и с помощью инициируемых перенаправлений. Кажется, что все остальные ответы лучше.

header(‘Location: .’); похоже, обновляет страницу в Chrome, Firefox, Edge и IE 11.

Как и следует (один раз): php.net/manual/en/function.header.php : «Второй особый случай — заголовок« Location: ». Он не только отправляет этот заголовок обратно в браузер, но и возвращает REDIRECT (302) код состояния для браузера, если код состояния 201 или 3xx уже не установлен. «

Но это не то, о чем просил ОП. Я все еще проголосовал за это, потому что понял это только потом, извините. Это скоро Рождество! 🙂

Вы можете обновить с помощью JavaScript. Вместо полного обновления страницы вы можете обновить содержимое в div. Затем с помощью JavaScript вы можете обновить только этот единственный div, и он работает быстрее, чем полное обновление страницы.

PHP — это серверный язык, поэтому вы не можете обновлять страницу с помощью PHP, но JavaScript — лучший вариант для обновления страница:

Читайте также:  Java последняя версия проверить

Хахахах хорошо, тогда, как вы хотите. Проверьте это => ( неправильный домен.epl.fanxt.com ), он не указал, что обновит страницу «после» ее загрузки. Если решение об обновлении было принято во время выполнения кода php, то php, безусловно, может обновиться и может выбирать, через сколько секунд обновляться.

@Ahmad Ахмад, вы не можете рассматривать как особенность PHP, это особенность HTML. Таким образом, вы делаете это, устанавливая заголовок ответа html. И именно поэтому я сказал, что вы не можете сделать это с помощью PHP. Другое дело, вы не можете обновить страницу после загрузки / при необходимости. да, вы можете установить его на несколько секунд и т. д., как вы ответили.

о технических деталях Думаете, можно использовать заголовок для обновления определенного изображения? Это если вы потоковое изображение через php грубый.

Ах да, нашел это. Сначала я попробовал обычный тег изображения. Неудачно. Но затем я заменил тег изображения на тег iframe и вуаля. Изображение обновляется автоматически. Это очень поможет с некоторыми из моих изображений состояния страницы 🙂 Для тех, кому интересно, я передаю изображение через php вместе с заголовком обновления, устанавливая файл php в качестве источника iframe.

Опять же, вы не думаете, что заголовок «обновить» является функцией HTML? PHP просто передает изображение (в зависимости от статуса пользователя или чего-либо еще), оно не обновляет страницу, HTML-заголовок (обновление) сообщает браузеру, что он должен обновить содержимое через x раз.

Технически, PHP не может обновить страницу, но используя заголовок Refresh или метатег , как описано в другом месте, PHP может сказать браузеру отображать текущую страницу до истечения времени ожидания, а затем обновить страницу.

@Patriks Почему вы продолжаете использовать слово «технически», PHP не обновляет страницу. Хотя это серверный язык, но часть его функциональности включает тег заголовка, который он использует для управления заголовком html. Как вы думаете, что происходит с javascript, когда вы используете код window.location, библиотека javascript использует команду для управления заголовком html. Поэтому, если вы продолжаете говорить, что технически PHP не обновляет страницу, вы также можете сказать, что JavaScript не обновляет, и вы оба ошибаетесь. Это командная строка в указанном теге, которая управляет заголовком, поэтому технически она обновляет страницу.

Один трюк заключается в том, чтобы добавить случайное число в конец URL-адреса, так что вам не нужно каждый раз переименовывать файл. Например:.

echo "" 

Браузер не будет кэшировать его, пока случайное число отличается, но веб-сервер игнорирует его.

Источник

Обновить страницу с помощью JS / HTML / PHP

JS -метод location.reload() перезагружает текущую вкладку браузера и действует также как кнопка «Обновить страницу».

Пример перезагрузки страницы кликом на ссылку или кнопку:

Цикличное обновление страницы с задержкой

В коде используется тот же location.reload() выполняемый с задержкой setTimeout() в тридцать секунд.

Перезагрузка страницы с задержкой

В случаях когда после клика на кнопку или ссылку нужно перезагрузить страницу с задержкой, например две секунды:

 Обновить страницу через 2 секунды  

Пример:

Перезагрузка страницы с подтверждением

Чтобы пользователь мог подтвердить действие, можно применить метод вызова диалогового сообщения confirm.

if (confirm('Вы действительно хотите обновить страницу?'))

Пример:

Обновление родительской страницы из IFrame

Для обращения к ресурсам родительской страницы из IFrame используется объект parent , подробнее в статье «Как обновить iframe».

Читайте также:  Eof in python files

Перезагрузка страницы с помощью HTML

Добавление мета-тега в страницы заставит её перезагрузится. Значение атрибута content больше нуля задает задержку в секундах.

Перезагрузка страницы из PHP

Обновить страницу прямо с сервера можно c помощью функции header() , отправив заголовок « Refresh: 5 », где значение «5» указывает интервал в пять секунд.

Важно, чтобы перед вызовом функции не было отправки контента в браузер, например echo .

Источник

How to refresh a page using PHP.

In this tutorial, we are going to show you how to refresh a page using PHP.

Because PHP is a server-side language, we will need to send an HTTP header.

This header will tell the browser to refresh after a certain period of time.

How to refresh the current page with PHP.

Take a look at the following example:

//The number of seconds to wait before refreshing the current URL. $refreshAfter = 5; //Send a Refresh header to the browser. header('Refresh: ' . $refreshAfter);

In the PHP code above, we sent a Refresh header to the browser by using PHP’s header function.

This meta refresh header tells the browser that it should refresh the current page after five seconds.

If you want to change the number of seconds that it takes, then you can simply modify the $refreshAfter variable.

If you inspect the HTTP response headers using Chrome Developer Tools or something similar, you will see the following:

HTTP Refresh Header

The PHP example above is equivalent to placing the following HTML meta tag in the head of your document:

You can also use this header to redirect to another URL after a certain period of time. For more information on how to do that, you can check out this guide.

Only refresh it once.

To refresh the page once, you will need to use a session variable like so:

//Start the session. session_start(); //If the session variable does not exist, //we will know that the page has not been refreshed yet. if(!isset($_SESSION['already_refreshed']))< //Number of seconds to refresh the page after. $refreshAfter = 5; //Send a Refresh header. header('Refresh: ' . $refreshAfter); //Set the session variable so that we don't //refresh again. $_SESSION['already_refreshed'] = true; >

In the example above, we used a session variable to prevent any further page refreshes.

If you run the code above, you will see that the header is not present on the second page load.

Источник

Оцените статью