web-dev-qa-db-fra.com

PHP rafraîchir la fenêtre? équivalent à un rechargement de page F5?

Y at-il quelque chose dans PHP qui équivaut à appuyer manuellement sur le bouton de rechargement de page F5? Mon script php est dans un cadre et n'est pas le script parent mais il a besoin d'actualiser la page entière et pas seulement son cadre. 

9
user840930

Avec PHP, vous pouvez simplement gérer des tâches côté serveur. Ce que vous pouvez faire est d’imprimer ceci dans votre iframe:

parent.window.location.reload();
6
gustavotkg

En fait c'est possible:

Header('Location: '.$_SERVER['PHP_SELF']);
Exit(); //optional

Et cela rechargera la même page.

24
NewProger

Si vous avez du texte avant un 

header('Location: http://www.example.com/youformhere.php');

vous aurez des problèmes, car cela doit être envoyé avant tout autre texte est envoyé à la page.

Essayez d'utiliser ce code à la place

<?php 
$page = $_SERVER['PHP_SELF'];
echo '<meta http-equiv="Refresh" content="0;' . $page . '">';
?>

Rappelez-vous simplement que ce code créera une boucle infinie, vous devrez donc probablement y apporter des modifications conditionnelles.

6
vr_driver

PHP ne peut pas forcer le client à faire quoi que ce soit. Il ne peut pas actualiser la page, encore moins actualiser le parent d'un cadre.

EDIT: Vous pouvez bien sûr faire PHP écrire du JavaScript, mais ce n’est pas PHP faire, c’est en fait du JavaScript et il échouera si JavaScript est désactivé.

<?php
    echo '<script>parent.window.location.reload(true);</script>';
?>
5
Madara Uchiha

avec php, vous pouvez utiliser deux redirections . Cela fonctionne de la même manière que rafraichir dans certains problèmes.

vous pouvez utiliser une page redirect.php et y poster votre dernière URL en utilisant la méthode GET (par exemple) . Ensuite, dans redirect.php, vous pouvez modifier l’en-tête et l’adapter à l’emplacement que vous lui avez envoyé par la méthode GET.

comme ceci: votre page:

<?php
header("location:redirec.php?ref=".$your_url);
?>

redirect.php:

<?php
$ref_url=$_GET["ref"];
header("location:redirec.php?ref=".$ref_url);
?>

cela a fonctionné pour moi bien.

1
Mehrdad
<?php 
echo "<script>window.opener.location.reload();</script>";
echo "<script>window.close();</script>";
?>
1
Vineesh Kalarickal

Utilisez JavaScript pour cela. Tu peux faire:

echo '
<script type="text/javascript">
   parent.window.location.reload(true);
</script>
';

Dans PHP, cela actualisera la page du cadre du parent.

0
jValdron

Tout ce que vous devez faire pour actualiser manuellement une page est de fournir un lien pointant vers la même page.

Comme ceci: Actualiser la sélection

0
user20200

suppose que vous pourriez faire écho à la balise meta pour effectuer le rafraîchissement à intervalles réguliers

<meta http-equiv="refresh" content="600" url="your-url-here"> 
0
optimusprime619