Есть ли что-нибудь в PHP, что эквивалентно ручному нажатию кнопки перезагрузки страницы F5? Мой php-скрипт находится в кадре и не является родительским скриптом, но ему нужно обновить всю страницу, а не только ее фрейм.
С 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 вы можете использовать два перенаправления. Он работает так же, как и в некоторых проблемах.
вы можете использовать страницу redirect.php и разместить свой последний URL-адрес с помощью метода GET (например). то в redirect.php вы можете изменить заголовок в местоположение, которое вы отправили ему методом GET.
например: ваша страница:
<?php header("location:redirec.php?ref=".$your_url); ?>
redirect.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{} ?>