Aide - Recherche - Membres - Calendrier
Version complète : problème d'affichage de fenetre
Forum Développeur - Administration serveur, programmation et base de données > Programmation > PHP
Maia
Je suis en train de creer un petit forum et j'ai une petite question concernant l'affichage des pages.

Sur ma page principale (index.php), là où s'affiche les messages, j'ai mis un lien pour afficher sur une autre page le formulaire pour poster un nouveau message.
CODE
<a href="poster1sujet.php" target="_blanc">Nouveau message</a>

Seulement, je ne sais pas si il est possible qu'une fois le formulaire envoyé la page du formulaire se ferme et que la page index.php s'actualise avec le nouveau message.
Si quelqu'un avait une idée...
egraphiste
Hello Maia,

ca c'est du PHP, je déplace ton post dans la bonne salle :wink:
Maia
je n'étais pas sure d'être dans la bonne salle mais je ne pense pas que le php me permette de resoudre mon problème.
Mon forum est en php, mais ma question doit probablement se résoudre en html ou javascript wink.gif
egraphiste
A mon avis le principe de ton application ce serait :

- index.php (c'est là ou s'affiche tes msgs)
- ajout_msg_form.php (ca c'est le formulaire qui te permet d'ajouter un msg)
- et ajout_msg.php (ca c'est la page de traitement qui remplit ta base et redirige vers index.php)

tu n'as donc pas besoin de fermer ta page avce cette methode.

a++
Maia
c'est ce que j'ai fais wink.gif

Mais j'ai du mal m'exprimer sur mon problème désolée.
Je reprend.

QUOTE
index.php (c'est là ou s'affiche tes msgs)  
- ajout_msg_form.php (ca c'est le formulaire qui te permet d'ajouter un msg)  
- et ajout_msg.php (ca c'est la page de traitement qui remplit ta base et redirige vers index.php)  


sur ma page index.php je voudrais que quand on clic sur un bouton ça ouvre la page ajout_msg_form.php (jusqu'ici rien de complique, soit target=blanc, soit une pop up).
Seulement une fois que j'aurai envoyé les info à ajout_msg.php, il va effectivement me rediriger vers index.php mais dans la fenetre du formulaire et pas dans la fenetre index.php initiale.
Tu comprends mon problème?
egraphiste
Comment ça ta fenêtre, tu veux dire que tu as un jeu de cadres ? (frames)
Maia
non je n'ai pas de frame je voulais dire dans ma page.
En gros comment faire quand tu as deux pages d'ouvertes et qu'une provoque l'actualisation de l'autre.
egraphiste
Mais pouquoi veux-tu ouvir deux pages pour ce traitement...? :?

tu as ta page index, l'internaute veut poster un msg, il clique sur <nouveau message>,
le formulaire se charge en '_top' dans la même page quoi,
et une fois qu'il à terminé et qu'il valide, la page index se recharge avec le nouveau message...

tu vois ce que je veux dire, exactement comme ici...

a++
Maia
lol
Copier ce forum ne m'interesse pas wink.gif
J'ai un truc en tête pour le design et ça nécéssite deux fenetres.
egraphiste
Alors tu veux que tes fenêtres communiquent entre elles,
ça c'est pas tellement simple à réaliser, effectivement tu vas devoir
combiner du PHP et du Javascript pour communiquer avec les fenêtres
Mère/fille de ton navigateur...

Mais là je t'avoue que mon aide sera limité, je passe la main à Qwix :wink:

La majorité des forums sont bâtis comme celui ci, ce ne sont pourtant pas
des copies smile.gif

a++
qwix
A mon avis il faut que tu fasse cela en JavaScript wink.gif

Mais avant de tenter quelque chose je voudrais voir tes pages si ça ne te dérange pas wink.gif

Merci de les envoyer en .zip smile.gif

smile.gif
Maia
arg, je suis un peu gènée de poster tout :-/
Qu'est ce que tu voudrais voir dans le codage? Si il n'y a pas d'autres choix je joindrai les fichiers mais dans la mesure du possible j'aimerai éviter.

Sinon j'ai regardé le tutorial sur les popup, ça commence déjà mal pour moi parce que ma page index n'a pas de html.
J'ai fais deux pages header et footer avec le code html (donc les balises head et body) et je les lie à la page index avec des include. Lorsque que je met le script entre les balises head dans header ça ne marche pas, il faut que tout soit sur la page index directement.
Enfin je ne connais pas trop le javascript, peux etre qu'il y a d'autres possibilité.
JF
Ta page index doit avoir du HTML sinon le navigateur sera incapable de l'ouvrir et de l'afficher correctement.

QUOTE
Sinon j'ai regardé le tutorial sur les popup, ça commence déjà mal pour moi parce que ma page index n'a pas de html.  
J'ai fais deux pages header et footer avec le code html (donc les balises head et body) et je les lie à la page index avec des include. Lorsque que je met le script entre les balises head dans header ça ne marche pas, il faut que tout soit sur la page index directement.
Enfin je ne connais pas trop le javascript, peux etre qu'il y a d'autres possibilité.
Maia
elle en a par le include.
Dans le header.php j'ai mis <html><head><title></title></head>
Dans le footer.php j'ai mis </html>

et dans ma page index j'ai mis include("header.php"); au début et include ("footer.php"); à la fin et ça marche très bien seulement je ne sais pas si par cette méthode les scripts qu'on mettra dans la balise head seront prit en compte. D'ailleurs je vais faire un tour dans la salle design pour savoir si les feuilles de style marchent par cette méthode.
qwix
Ca ne pose pas de problèmes wink.gif
Tu peux très bien avoir un fichier 'header.php' avec dedans un lien sur ton fichier CSS, et ensuite il tre suffit de faire un include de ce fichier et c'est réglé wink.gif

smile.gif
Maia
Est ce que quelqu'un saurait où je pourrais me renseigner pour mon problème de départ et faire un script adapté?

J'ai vraiment des bases misérable en javascript et je me vois mal apprendre le langage en quelques jours.
Maia
Peut être que fermer la fenetre du formulaire une fois les données envoyé suffirait?
qwix
QUOTE
Je suis en train de creer un petit forum et j'ai une petite question concernant l'affichage des pages.

Sur ma page principale (index.php), là où s'affiche les messages, j'ai mis un lien pour afficher sur une autre page le formulaire pour poster un nouveau message.
CODE
<a href="poster1sujet.php" target="_blanc">Nouveau message</a>

Seulement, je ne sais pas si il est possible qu'une fois le formulaire envoyé la page du formulaire se ferme et que la page index.php s'actualise avec le nouveau message.  
Si quelqu'un avait une idée...
Si la page que tu ouvre dans un nouveau lien n'est pas une popup je ne pense pas que ce soit faisable, mais je peux me tromper wink.gif

Sinon pourrait-tu essayer ceci dans la nouvelle page que tu ouvres :
CODE
<SCRIPT LANGUAGE="javascript">

function closeAndReload()

{

window.opener.reload();

window.close();

}

</SCRIPT>


Et sur le bouton qui valide le formulaire, tu met onClick="closeAndReload()" wink.gif

smile.gif
Maia
j'ai mis ton code dans le formulaire.
En fait, ça ouvre la fenetre du formulaire dans une autre fenetre mais en fermant la première.
Ce qui revient au même que si je n'avais pas mit le target=_blanc
Maia
Bon, au cas où target poserait problème, j'ai suivit le tutoriel du traitement des pop up en javascript pour ouvrir mon formulaire.

Maintenant il faudrait que je trouve une méthode pour que cette pop up se ferme au moment où j'envois les informations et que la fenetre index qui est déjà ouverte se reactualise (et non pas qu'une autre s'ouvre).
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.