Rafraichissement fenetre

Résolu
miklb Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   -  
miklb Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   -
Je réalise un site en PHP.
J'ai trois frames : une horizontale en haut (elle contient l'entete et les menus) et deux verticales dessous (name=g_forum pour celle de gauche et name=d_forum pour celle de droite).
Dans ce site j'ai donc un forum.
A gauche, la liste des thèmes avec le nombre de messages par thème et à droite le contenu des messages et les liens pour répondre ou écrire de nouveaux messages.

Un click à gauche sur un thème met à jour ma page de droite (d_forum).
Quand je créé un message, le formulaire s'inscrit dans la d_forum. Si j'annule, je réaffiche ma page de droite (je reste dans la meme frame donc pas de problème).

Voici ma question :
Quand je valide le formulaire, je mets à jour ma BDD et je réaffiche ma page permettant de visualiser mes messages. Je fais un
Header (‘Location : voir_forum.php’) ;
Mais il me faudrait aussi rafraichir la frame de gauche pour indiquer qu’un nouveau message existe. Dans le header, peut on indiquer sur quelle frame travailler ? Peut on ensuite enchainer pluisieurs header ?


Merci de votre aide.
A voir également:

2 réponses

Erdnax Messages postés 2273 Date d'inscription   Statut Contributeur Dernière intervention   497
 
Salut,

J'ai peut-être une solution, mais je ne sais pas si elle va marcher et je n'ai pas de quoi la tester... Donc fais-le et dis moi si ça marche ;)
echo "<script type=\"text/javascript\">parent.g_forum.location.reload()</script>";

Ca fonctionne ?

@+
0
miklb Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   8
 
Salut,

je n'ai pas le script au bureau, mais je teste ça ce soir et te tiens au courant ...

Merci.
0
miklb Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonjour,

Avec un peu de retard mais je tenais à répondre.

J'ai donc réussi avec ta ligne en l'adaptant :

Voici les adaptations:

Le formulaire d'insertion d'un message (lancé dans la frame de droite) comprend vers la fin :

// on redirige vers la page de lecture du sujet en cours (toujours frame de droite)
// on indique refreh=1 pour rafraichir aussi la frame de gauche
header('Location: voir_forum.php?id_theme='.$_GET['id_theme'].'&refresh=1');


dans le script Voir_forum.php (qui s'affiche dans la frame de droite), j'ajoute en début la ligne suivante :


if (isset($_GET['refresh']))
{
if ($_GET['refresh']==1)
{
echo "<SCRIPT type=\"text/javascript\">parent.forum_g.location.reload()</SCRIPT>";
}
}

et la suite concerne le reste du script de la frame de droite.

En fait je ne pouvais pas tout mettre dans mon fichier insert_message.php car cela me faisait écrire :
echo "<script .....
puis
header ....

Merci de la solution
tchao ...
0
Utilisateur anonyme
 
Dans ta page qui permet d'afficher tes messages, appelle une fonction javascript quand ta page est chargée:
.
.
.
<script>

function updateOtherFrame(){
window.top.frames[indexDeTaFrame].document.location.href="urlPourUpdaterTaFrame";
}
</script> 
.
.
.
 <body onload="updateOtherFrame();">
.
.
.



Hope it helps...

;-)
HackTrack
0