Page 1 sur 1

redirection des frames

Posté : 16 avr. 2005, 10:08
par superfourmi
bonjour a tous:

voila je vous explique mon probleme. j'ai un index.htm qui charge une page de menu a gauche, et une page centrale. dans mon menu, chaque lien donne sur une page générée en php. le probleme est que je peux ouvrir chaque lien indépendament du reste (du genre je tape directement http://test.com/test.php et j'affiche directement la page). comment faire pour que quelque soit l'adresse en interne que je veux atteindre directement, il me soit imposé le chargement du cadre de mon site (menu frame de gauche).

merci e a plush

Posté : 16 avr. 2005, 13:24
par ouckileou
j'ai beau relire plusieurs fois je ne saisis pas bien ton soucis :oops:

edit : ah si peut-être en fait

tu veux dire que si quelqu'un charge directement une page qui devrait être affichée dans le frame de droite avec le menu à gauche, qu'elle ne voit pas uniquement cette page mais qu'un système fasse apparaitre le menu ?

tu peux tester d'où vient cette personne pour arriver sur la page et si elle n'a pas cliqué sur le menu et bien rediriger vers ton framset, en mettant une petite variable par exemple spécifiant la page à ouvrir

Posté : 31 mai 2006, 18:38
par Luna
Superfourmi, si tu as trouvé la solution cela m'intéresse.
J'ai aussi une page index.php qui contient un include "menu.php". Le problème et que si un internaute tape www.monsite.com/menu.php seul le menu s'affiche.
L'idéal serait que si quelqu'un veut taper www.monsite.com/menu.php, il soit redirigé vers l'index.php.

Posté : 31 mai 2006, 18:55
par albat
Pour éviter qu'une frame soit affichée seule
et automatiser le chargement du frameset complet,
il faut utiliser un javascript à placer en tête de chaque page de frame.

Je ne l'ai pas en tête mais tu peux retrouver facilement ce genre de script avec :google:

Posté : 01 juin 2006, 03:00
par HanX
tu devrais voir la doc de header pour faire des redirections... une ptit coup de GET et hop... :oops: j'en ai trop dit :p

Posté : 01 juin 2006, 08:11
par azerty53
si c'est des pseudo frame que tu utilises, faut que tu fasse dans ta page index.php

un array ou tu met toutes les page autorisées.
$page0K = array('connexion' => 'connexion.php',
                                  'accueil' => 'accueil.php');
apres tu test que ta page est autorisée dans le array sinon tu affiches une page par default.

apres tes liens seront du style index.php?page=accueil

if ((isset($_GET['page'])) && (isset($page0K[$_GET['page']]))) {
				include($page0K[$_GET['page']]);
			} else {
				include('accueil.php'); // Page par defaut.			
			}
et surtout tu fais des include de tes pages.
include("header.php");

Posté : 01 juin 2006, 11:44
par Ryle
Suffit d'un p'tit bout de javascript qui compte le nombre de frames incluant la page en cours, s'il n'y en a pas on redirige vers la frame :

Code : Tout sélectionner

if (parent.frames.length < 1) { document.location = 'url_de_la_page_principale'; }
Personnellement j'enrichie en général en passant le nom de la page d'où je viens en paramètre, de manière à ce que la frame puisse le récupérer et l'ouvrir directement sans revenir à l'accueil (bon pour un menu ça n'a aucun interet :))

Posté : 02 juin 2006, 22:16
par Luna
Super j'ai testé la méthode d'Azerty53 et ça marche. Merciiiiiiiiiiiiiiii :D