Redirection en php et frames

Résolu
cs_Rimb0 Messages postés 103 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 3 septembre 2008 - 7 sept. 2005 à 14:20
cs_Rimb0 Messages postés 103 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 3 septembre 2008 - 8 sept. 2005 à 16:34
Bonjour à tous !

Je suis débutant en php et j'aurais une question qui pourrait intéressé pas mal de gens.

J'ai vu un site qui contenait des milliers de liens. Lorsqu'on clique
sur un lien, une page s'ouvre (nom de la page :
out.php?p=http://nomdusite.com). Cette meme page contient en haut une
frame qui permet de revenir sur le site (comme Google Image).
J'aimerais pouvoir faire la meme chose ou avoir un script simple pour
que je puisse l'adapter a mon site. J'aimerais qu'une page s'ouvre en
fonction de l'adresse (par exemple out.php?p=http//ahah.com et le site
ahah.com qui s'ouvre avec la frame en haut).



Si quelqu'un peut fournir un lien ou un script ça pourrait servir a bon
nombre de personnes. J'ai cherché sur plein de forums mais je n'ai rien
trouvé.



Merci d'avance.

4 réponses

aurelien0306 Messages postés 181 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 2 mars 2009
7 sept. 2005 à 23:04
Salut,

dans ta page out.php :
<?php

$page_a_visiter = '';

if(isset($_GET['p']))

{

$page_a_visiter = (string)$_GET['p'];

echo '



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"

"http://www.w3.org/TR/html4/frameset.dtd">

<html>

<head>

<title>Monsite.com</title>

</head>

<frameset rows="20%, 80%">

<frame src="monbandeau.htm">

<frame src="'. $page_a_visiter .'">

<noframes>

Cette page sous forme d\'ensemble de frames contient:




<li>[monbandeau.htm description du bandeau]</li>

<li>['. $page_a_visiter .' description de la page à
visiter]</li>



</noframes>

</frameset>

</html>';



}

else

{

/* si aucun paramètre, on annule l'action. */

die('Aucune page à visiter!');

}

?>



et dans monbandeau.htm :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/transitional.dtd">

<html>

<head>

<title>le bandeau de mon site</title>

</head>





Vous visitez actuellement un site qui ne fait pas partie de monsite.com. Pour revenir sur monsite.com,

cliquez sur [url_de_retour ce lien].





</html>



L'avantage de la balise <noframes> à l'intérieur de frameset
permet d'offrir le contenu à des utilisateurs se servant de navigateurs
ne gérant pas les frames ou ne pouvant les gérer (comme les navigateurs
spécialisés ou trop vieux) et donc d'assurer un minimum
d'accessibilité puisqu'ils pourront cliquer sur les liens...

voilà j'espère avoir répondu à ta question...



Ensuite surement des restrictions et des vérifications à faire sur la variable p puisque tout utilisateur peut la modifier.

voilà
3
cs_Rimb0 Messages postés 103 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 3 septembre 2008
8 sept. 2005 à 16:34
Merci beaucoup ton script fonctionne très bien je le remets avec le body :



<?php

$page_a_visiter = '';

if(isset($_GET['p']))

{

$page_a_visiter = (string)$_GET['p'];

echo '



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"

"http://www.w3.org/TR/html4/frameset.dtd">

<html>

<head>

<title>Monsite.com</title>

</head>

<frameset rows="20%, 80%">

<frame src="monbandeau.htm">

<frame src="'. $page_a_visiter .'">

<noframes>

Cette page sous forme d\'ensemble de frames contient:




<li>[monbandeau.htm description du bandeau]</li>

<li>['. $page_a_visiter .' description de la page à
visiter]</li>



</noframes>

</frameset>

</html>';



}

else

{

/* si aucun paramètre, on annule l'action. */

die('Aucune page à visiter!');

}

?>



-------------------------

Avec Dreamweaver, j'ai eu quelques soucis mais ton script fonctionne parfaitement =)
3
aurelien0306 Messages postés 181 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 2 mars 2009
7 sept. 2005 à 23:07
(PS : ne pas oublier de rajouter juste après
<noframes> (et avant le texte) et de fermer la balise juste avant
</noframes> (et tu as un code valide) :)
0
aurelien0306 Messages postés 181 Date d'inscription jeudi 27 février 2003 Statut Membre Dernière intervention 2 mars 2009
7 sept. 2005 à 23:12
PPS (le dernier) et un petit <meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-1"> juste avant </head>
et ta page est conforme ;) cool non?
0
Rejoignez-nous