Окно обновления PHP? эквивалент перезагрузки страницы F5?
есть ли что-нибудь в PHP, что эквивалентно ручному нажатию кнопки перезагрузки страницы F5? Мой PHP-скрипт находится в фрейме и не является родительским скриптом, но ему нужно обновить всю страницу, а не только фрейм.
10 ответов
С PHP вы просто можете обрабатывать серверные вещи. Что вы можете сделать, это распечатать это в своем iframe:
parent.window.location.reload();
на самом деле это возможно:
Header('Location: '.$_SERVER['PHP_SELF']);
Exit(); //optional
и он перезагрузит ту же страницу.
Если у вас есть текст перед
header('Location: http://www.example.com/youformhere.php');
у вас будут проблемы, потому что это должно быть отправлено до отправки любого другого текста на страницу.
попробуйте использовать этот код вместо
<?php
$page = $_SERVER['PHP_SELF'];
echo '<meta http-equiv="Refresh" content="0;' . $page . '">';
?>
просто помните, что этот код создаст и бесконечный цикл, поэтому вам, вероятно, придется внести в него некоторые условные изменения.
PHP не может заставить клиента что-либо сделать. Он не может обновить страницу, не говоря уже об обновлении родительского фрейма.
EDIT: вы можете, конечно, сделать PHP писать JavaScript, но это не делает PHP, это на самом деле JavaScript, и он потерпит неудачу, если JavaScript отключен.
<?php
echo '<script>parent.window.location.reload(true);</script>';
?>
<?php
echo "<script>window.opener.location.reload();</script>";
echo "<script>window.close();</script>";
?>
С php вы можете использовать два перенаправления. Он работает так же, как refresh в некоторых проблемах.
вы можете использовать редирект страницы.php и опубликуйте свой последний url-адрес с помощью метода GET (например). затем в перенаправление.php вы можете изменить заголовок на местоположение, которое вы отправили ему методом GET.
такой: страницы:
<?php
header("location:redirec.php?ref=".$your_url);
?>
редирект.на PHP:
<?php
$ref_url=$_GET["ref"];
header("location:redirec.php?ref=".$ref_url);
?>
это сработало для меня хорошо.
использовать JavaScript для этого. Вы можете сделать:
echo '
<script type="text/javascript">
parent.window.location.reload(true);
</script>
';
в PHP, и он обновит страницу фрейма родителя.
думаю, вы могли бы повторить мета тег для этого обновить через регулярные промежутки времени ... как
<meta http-equiv="refresh" content="600" url="your-url-here">
все, что вам нужно сделать, чтобы вручную обновить страницу, чтобы предоставить ссылку на той же странице
такой: Обновить выделение
добавление следующего в заголовок страницы работает для меня:
<?php
if($i_wanna_reload_the_full_page_on_top == "yes")
{
$reloadneeded = "1";
}
else
{
$reloadneeded = "0";
}
if($reloadneeded > 0)
{
?>
<script type="text/javascript">
top.window.location='indexframes.php';
</script>
<?php
}else{}
?>