Inclure le résultat d'une recherche google

johnjohn
Invité n'ayant pas de compte PHPfrance

27 oct. 2005, 19:24

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

ViPHP
pjl
ViPHP | 2119 Messages

27 oct. 2005, 22:23

pas très clair.
ton résultat es une page Google, non ?

Eléphant du PHP | 55 Messages

27 oct. 2005, 23:38

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 ?
Mais qu'importe..

johnjohn
Invité n'ayant pas de compte PHPfrance

28 oct. 2005, 00:21

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 ?

Eléphant du PHP | 55 Messages

28 oct. 2005, 00:47

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..
Mais qu'importe..

ViPHP
ViPHP | 649 Messages

28 oct. 2005, 01:50

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é!
Image

johnjohn
Invité n'ayant pas de compte PHPfrance

28 oct. 2005, 02:22

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 :wink:

johnjohn
Invité n'ayant pas de compte PHPfrance

28 oct. 2005, 02:29

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>

ViPHP
ViPHP | 649 Messages

29 oct. 2005, 00:41

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.
Image

Mammouth du PHP | 1885 Messages

29 oct. 2005, 05:46

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.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

johnjohn
Invité n'ayant pas de compte PHPfrance

29 oct. 2005, 13:36

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.

ViPHP
ViPHP | 649 Messages

29 oct. 2005, 14:07

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!
Modifié en dernier par alexbad le 29 oct. 2005, 19:14, modifié 1 fois.
Image

Eléphant du PHP | 55 Messages

29 oct. 2005, 19:11

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 :D

C'est vrai que je me prends la tête parfois. Tu veux mettre quoi dans l'url ? l'url de google ?
Mais qu'importe..

ViPHP
ViPHP | 649 Messages

29 oct. 2005, 19:15

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?
Image

Mammouth du PHP | 1885 Messages

29 oct. 2005, 21:15

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 :roll:
La programmation est l'expression de la poésie d'un programmeur
Génération PHP