ouvrir un lien dans une page précise. (insertion)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ouvrir un lien dans une page précise. (insertion)

par Ryle » 02 avr. 2008, 10:59

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

par weppy » 02 avr. 2008, 00:42

Merci beaucoup Ryle, ça à l'air de fonctionner.

Et ce qui est bien c'est que c'est plus sécurisé ainsi, car tu me parlait tou à l'heure des la faille include.

par Ryle » 01 avr. 2008, 23:50

Bah t'y étais presque ? pourquoi repartir sur les targets ? :)

Pour passer le lien depuis la page1 vers la page2 ça change pas :

Code : Tout sélectionner

<a href="page2.php?url=le-lien.com">


Ca veut dire que tu vas récupérer le paramètre "url" dans la variable $_GET qui contiendra la valeur "le-lien.com". A partir de là, t'en fais bien ce que tu veux... si tu veux l'utiliser comme source d'une iframe il te suffit de l'y mettre :
<iframe src="<?php echo $_GET['url']; ?>" name="zone1" height="1000" width="100%" frameborder="0"></iframe> 

par weppy » 01 avr. 2008, 23:01

Personne n'aurait une solution ? :?

par weppy » 01 avr. 2008, 20:23

Quelquechose comme ça ?

<a href="page2.php?URL=http://google.fr" target="la_frame">LE LIEN</a>

...

<iframe name="la_frame" src="http://google.fr" height="1000" width="100%" frameborder="0"></iframe>[/quote]

Merci mais non,
car http://google.fr ne doit pas aparaitre dans la ligne de code sur page2, c'est une adresse qui doit être extraite de l'url.

par Calimero » 01 avr. 2008, 19:44

Vulgairement ce que je recherche ressemble à ça je pense :

sur page1 :

<a href="page2.php?URL=http://google.fr">LE LIEN</a>


sur page2 :

<iframe src="URL" name="zone1" height="1000" width="100%" frameborder="0"></iframe>

:?
Merci de vos réponses..
Quelquechose comme ça ?

<a href="page2.php?URL=http://google.fr" target="la_frame">LE LIEN</a>

...

<iframe name="la_frame" src="http://google.fr" height="1000" width="100%" frameborder="0"></iframe>

par weppy » 01 avr. 2008, 19:29

Vulgairement ce que je recherche ressemble à ça je pense :

sur page1 :

<a href="page2.php?URL=http://google.fr">LE LIEN</a>


sur page2 :

<iframe src="URL" name="zone1" height="1000" width="100%" frameborder="0"></iframe>

:?
Merci de vos réponses..

par weppy » 01 avr. 2008, 18:10

je ne suis pas sur de bien comprendre.

En code ça donne quoi ?

Quelquechose qui ressemble à ça :

<a href="le-lien.com" target="zone_sur_page2.php"> ??

par Ryle » 01 avr. 2008, 18:06

Bah euh... oui... c'est quasiment tout pareil en fait, il suffit juste dans ta page2 d'utiliser le paramètre que tu récupères dans l'url pour le coller dans la source de l'iframe :)

par weppy » 01 avr. 2008, 17:44

Le mettre dans une iframe ?

Si tu veux juste proposer la navigation d'un autre site depuis le tiens, ouvre le simplement dans une iframe :)
Oui c'est ce que je veux, mais pas sur la page1.
Serait il possible alors de l'ouvrir dans une iframe qui ce trouverait sur page2.php ?

Merci.
Merci aussi au autres réponses qui sont malheuresement trop compliquées pour moi, et qui vont peu être trop loin par rapport au petit truk que je veux faire..

par caroube » 01 avr. 2008, 17:22

Que fais-tu si ta page appelée a des arguments ?

Code : Tout sélectionner

http://jouezmaintenant.free.fr/page2.php?ouvremoi=http://www.phpfrance.com/forums/posting.php?mode=reply&t=239271
Est-ce que l'argument t=239271 est un argument de page2.php ou un argument de posting.php ?
Un conseil : utilise urlencode() et urldecode() pour la page passée en argument. Ca donnera une URL en argument qui ressemblera à ça et où il n'y aura aucune ambiguité

Code : Tout sélectionner

http://jouezmaintenant.free.fr/page2.php?ouvremoi=http%3A%2F%www.phpfrance.com%forums%posting.php%3Fmode%3Dreply%26t%3D239271
Comment faire pour vraiment affiché le lien avec ses propriétés à lui ?
Après avoir lu la page passée en argument, il faut que tu repères tous les <a href ... >, toutes les actions de formulaires, toutes les sources d'images, tous les appels à des CSS ou des javascripts externes (et encore tous les trucs auquel je ne pense pas) qui ne sont pas en http:// (ou https:// ou ftp://) et que tu les re-préfixes avec l'URL du site :

En gros, ta page Google contient ça

Code : Tout sélectionner

... background:url(/intl/ja/images/productlinktabs.png) ... new Image().src='/images/nav_logo3.png' ... <img alt="Google" height=110 src="/intl/fr_fr/images/logo.gif" width=276> ... <form action="/search" name=f> ... <a href="/intl/fr/about.html">À propos de Google</a> ...
et tu dois la transformer en ça...

Code : Tout sélectionner

background:url(http://www.google.fr/intl/ja/images/productlinktabs.png) ... new Image().src='http://www.google.fr/images/nav_logo3.png' ... <img alt="Google" height=110 src="http://www.google.fr/intl/fr_fr/images/logo.gif" width=276> ... <form action="http://www.google.fr/search" name=f> ... <a href="http://www.google.fr/intl/fr/about.html">À propos de Google</a> ...
Bon courage avec les expressions régulières.

par Ryle » 01 avr. 2008, 17:10

Le mettre dans une iframe ?

En fait, lorsque tu inclues la page, tu va récupérer le code html de cette dernière et l'inclure dans le code de ta page à toi. Donc au final, ta page est bien hébergée chez free et les liens relatifs se retrouvent donc relatif à ton site et non à celui d'origine.

Donc au lieu d'inclure directement le flux html il te faudrait le lire avec fopen()/fread() etc. le parser pour retrouver les liens relatifs et les modifier pour y rajouter l'url d'origine. Mais cela implique aussi que dès que tu lanceras une recherche, c'est la véritable page de google qui sera appellée directement et non via ta "page2".

Si tu veux juste proposer la navigation d'un autre site depuis le tiens, ouvre le simplement dans une iframe :)

par weppy » 01 avr. 2008, 16:48

J'ai déjà un probleme :

l'ouverture de la page demandé s'ouvre bien, mais les liens qui sont dessus changent.
pour que vous compreniez mieut :

page1:
http://jouezmaintenant.free.fr/page1.html

Quand on clique il affiche bien le lien demandé (ici pour exemple google.fr) sur page2.php (preuve avec le "@" affiché sur cette page) mais les liens changent tous. comme si la page était hebergé sur le compte free quoi..

Comment faire pour vraiment affiché le lien avec ses propriétés à lui ?

Merci.

par Ryle » 01 avr. 2008, 16:44

Fais surtout attention, comme je l'ai mentionné plus haut, à ne pas laisser un visiteur mettre n'importe quoi dans l'adresse de la page à ouvrir :)

par weppy » 01 avr. 2008, 16:40

Je viens d'essayé ce que tu viens de me proposé Ryle, sur deux pages simples et celà marche.

Je vais donc bien mettre avec ma mise en page et le reste, et voir si tout est bon.

Merci à toi et aux autres.

(sujet non clos, en cas de problemes :) )