Page 1 sur 2
Inclure le résultat d'une recherche google
Posté : 27 oct. 2005, 19:24
par johnjohn
Bonjour,
j'essaye de comprendre le fonctionnement des pseudo frames PHP.
Or, j'ai l'impression que je ne pourrai pas faire ce que je fais avec des frames HTML :
j'ai, sur ma page, une input de recherche google. J'aimerais que le résultat s'affiche dans ma pseudo frame du milieu, sans que le reste de la page disparaîsse, et il faudrait que l'url de ma page change et devienne celle de la page affichée dans ma pseudo frame du milieu.
Celà est-il possible ?
Merci
Posté : 27 oct. 2005, 22:23
par pjl
pas très clair.
ton résultat es une page Google, non ?
Posté : 27 oct. 2005, 23:38
par Pieterjan
je dirais plutôt de carrément abandonner les frames, c'est moche, pas pratique, pire que les tableaux.
De plus, je vois pas vraiment ce que tu veux faire..mettre un input google dans un coin, et faire afficher les résultats au milieu ?
Posté : 28 oct. 2005, 00:21
par johnjohn
Oui, j'ai une input en haut de ma page et je veux que le résultat s'affiche dans une pseudo frame du centre. Comment faire ?
Posté : 28 oct. 2005, 00:47
par Pieterjan
tout d'abord, je viens de voir un peu ce qu'on entend par "pseudo frames", ben ça n'a rien avoir avec des frames html. C'est même bizarre d'avoir appelé ça comme ça..y'a des malades, j'vous jure.
En tout cas, vu que ce n'est qu'une page html dont on fait varier le contenu, pourquoi changer l'url ?
Le plus simple selon moi, c'est de tout simplement placer le div qui contient les résultats (ouais, si on veut, de très très très loin c'est un peu un frame..) au milieu de la page, avec le css, quitte a faire du positionnement absolu.
Sinon, pour faire plus amusant, si je comprends bien, ton input, c'est un input de recherche google, qui conduit de toute façon sur une page de résultat google ? dans ce cas, avec des vrais frames, c'est en effet facile de faire apparaître le résultat dans un frame, puisque des frames, c'est autant de pages html (c'est pour ça que c'est lourdingue, les frames.)
Pour faire ce que tu veux avec les résultats sous php, il va falloir salir ses mains je crois. La solution la plus esthétique serait de remplacer l'input google par du fait main, pour ensuite aller interroger google à travers le php lui-même, charger la page de résultats dans une variable, extraire les informations qu'il faut, et les afficher ou bon te semblera. Dans un registre plus gore, ça commence pareil, mais au lieu d'extraire les informations, tu fais un bon gros "echo" de la page de résultats google dans une div au milieu de la page.(peut-être tout de même penser à enlever les balises <head> et autres <body>, sous risque de voir de drôles de choses..)
ça devrait ressembler à ça:
Pour les inputs, n'oublie pas que la page affichée sera celle spécifiée dans le paramètre ACTION du formulaire.
Ca parais surement plus compliqué que de le faire avec des frames, mais c'est tellement plus poétique..
Posté : 28 oct. 2005, 01:50
par alexbad
Je trouve la solution de Pieterjan un peu compliqué... Regarde:
Code de PAGE.PHP
<form action=page.php>
<input type="text" name="q">
<input type="hidden" name="h1" value="fr">
<input type="submit" value="Rechercher" name="btng">
</form>
<?
if (isset($_POST['h1']))
{
include "http://www.google.ca/search name=f";
}
?>
Tu mets un peu de désign et le tour est joué!
Posté : 28 oct. 2005, 02:22
par johnjohn
Bonsoir, merci beaucoup de vos réponses.
Excuse moi alexbad, pourrais tu m'expliquer ce que fait précisément ton script stp ? Il m'a l'air correct mais je n'aime pas utiliser qqchose que je ne maîtrise pas

Posté : 28 oct. 2005, 02:29
par johnjohn
pour info voici mon input google
<form name="gooogle" action="
http://www.google.fr/search" method="get" accept-charset="utf-8">
<input type="text" name="q" size="18" maxlength="255" onClick="focus_form('gooogle','q');">
</form>
Posté : 29 oct. 2005, 00:41
par alexbad
J'ai vérifié la source des pages de google, j'ai copier-coller le formulaire de google (avec l'action et tout et tout). J'ai mis en include (pas en frame) les résultats de recherche (l'action du formulaire de google). Et donc, cette page recevra aussi les données postées.
Posté : 29 oct. 2005, 05:46
par Xenon_54
Encore plus simple:
Code : Tout sélectionner
<form action="http://www.google.com/search" method="GET" target="gooogle">
<p>Rechercher: <input type="text" name="q" size="16" /> <input type="submit" value="Rechercher" /></p>
</form>
<iframe src="" name="gooogle" id="gooogle" width="700" height="500"></iframe>
Maintenant tu peux toujours te procurer l'API Google et générer une page de résultat personnalisé grâce à PHP ou tous autres langages serveur.
Posté : 29 oct. 2005, 13:36
par johnjohn
Coucou,
avec ton iframe je pourrais avoir l'URL qui change dans la barre d'adresse ? car c'est le seul problème que j'ai eu avec les frames. L'URL restait à conteneur.html

.
Je pensais qu'iframe c'était un truc spé pour IE. J'essayerai, merci beaucoup !
En parlant du PHP, il faut obligatoirement un serveur pour l'utiliser ? car ma page est stockée en locale.
Posté : 29 oct. 2005, 14:07
par alexbad
Oui, ça prend un serveur mais heureusement, il existe un pack gratuit pour windows qui fait office de serveur en local. Easyphp que tu peux télécharger ici:
http://prdownloads.sourceforge.net/quic ... e?download
Pour apprendre à t'en servir,
http://www.siteduzero.com , c'est la meilleure solution!
Posté : 29 oct. 2005, 19:11
par Pieterjan
Coucou,
avec ton iframe je pourrais avoir l'URL qui change dans la barre d'adresse ? car c'est le seul problème que j'ai eu avec les frames. L'URL restait à conteneur.html

.
Je pensais qu'iframe c'était un truc spé pour IE. J'essayerai, merci beaucoup !
En parlant du PHP, il faut obligatoirement un serveur pour l'utiliser ? car ma page est stockée en locale.
sans la virgule :
http://www.siteduzero.com
C'est vrai que je me prends la tête parfois. Tu veux mettre quoi dans l'url ? l'url de google ?
Posté : 29 oct. 2005, 19:15
par alexbad
C'est mon genre d'erreur... J'ai corrigé. Et ton code Xenon_54, tu le trouves vraiment plus simple que l'include des résultats?
Posté : 29 oct. 2005, 21:15
par Xenon_54
Oui car il ne nécessite pas de serveur Web ni PHP.
Et comme il semble être qq'un qui veut simplement avoir une page de recherche en local
