Google search

Résolu
lola -  
 lola -
Bonjour,

j'aimerais savoir comment on fait pour afficher les recherches que mes visiteurs
écrives dans google recherche ( le petit script que l'on met sur son site pour rechercher des infos sur sa page ou sur tout le web)
faut il une base de donné ou un script en javascript peut suffire

en gros j'aimerais mettre un lien avec écrit "dernières recherches effectués"
et puis en dessous tout les mots ecrit par mes visiteurs

merci pour vos réponses meme un lien qui explique comment faire svp

21 réponses

  • 1
  • 2
  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    J'avais oublié, les résultats s'affichent sur une de tes pages, pas sur le domaine google.com.
    Tu peux donc directement mettre le script PHP sur la page des résultats.
    La variable qui contient la recherche est $_GET['q']
    1
  2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Enfait c'est moi qui me suis trompé dans mes explication.
    Pour le code d'ajout, l'include est dans la condition if.

    Si tu veux les deux script sur la même page (résultat des recherches) :
    <?php
    include('latestsearches.class.php');
    $latestSearches = new LatestSearches('recherches.xml');
    
    if(isset($_GET['q']) && !empty($_GET['q'])) {
        $latestSearches->addSearch($_GET['q']);
    }
    
    
    $searches = $latestSearches->getLatestSearches();
    foreach($searches as $search) {
        echo $search.'<br/>';
    }
    ?>


    Pour afficher les recherches sur n'importe quel autre page :
    <?php
    include('latestsearches.class.php');
    $latestSearches = new LatestSearches('recherches.xml');
    
    $searches = $latestSearches->getLatestSearches();
    foreach($searches as $search) {
        echo $search.'<br/>';
    }
    ?>

    Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
    1
  3. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    +100
    :-)
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. lola
     
    avion-f16
    reste ds le ciel la prochaine fois et amène ton copain
    ton poste a 2 balles la

    ta pas de réponse va voir ailleurs c tt
    0
  6. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Je ne comprends pas pourquoi tu réponds comme ça.

    bg62 est venu de lui-même.
    Apparemment tu n'as pas essayé le lien que je t'ai donné. Je ne sais pas si tu as remarqué qu'il y a "cse/" au bout ; contrairement à ce que tu pourrais croire, ça ne te renvoie pas vers le moteur de recherche mais vers une page pour intégrer Google Search sur ton site !

    Si ce n'est pas ce que tu désires, alors soit plus explicite sur ta demande !

    "ta pas de réponse va voir ailleurs c tt"
    J'en ai, et je t'en ai proposé une.
    Mais si tu continues à répondre comme ça, c'est ce que je ferais, mais il ne faudra pas t'étonner si personne ne t'aide ...

    Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
    0
    1. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
       
      il se passe quoi là ???
      0
    2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      C'est en réponse à ses messages et à ses "moinssoyages".
      0
    3. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
       
      ok bien vu alors !
      0
  7. lola
     
    bon ok excusez moi de m'être emporté

    mais sinon vs m'avez pas compris :)
    en gros sur mon site j'ai déjà le google search et ce que je veux c'est qu'en dessous du moteur de recherche personnalisé il y est écrit " dernière recherche effectué" par mes visiteurs

    par exemple éléphant, guépard,avion sont les derniers mots recherchés sur le moteur de recherche personnalisé google search....

    vraiment je bataille depuis 2 jours a essayé avec les codes d'autres sites mais j'y arrive pas, j'ai besoin d'un tutoriel et c'est introuvable le pire c'est que lié au formulaire mais je veux que sa apparaisse sur ma page et nom ds un fichier .txt

    bon voila alors merci avion f16 si tu peux maider ou les autres
    0
  8. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Il va falloir utiliser du PHP (ou n'importe quel autre script sur ton serveur) pour enregistrer les dernières recherches dans une base de données (ou même un fichier).

    Pour "capturer" la recherche, je te propose deux solutions :
    - Faire une requête AJAX avec du Javascript
    - Modifier la cible du formulaire en mettant ton fichier PHP (et celui-ci fera une redirection vers la page des résultats).

    Sans le code du formulaire, je ne pourrais pas t'aider plus.
    0
  9. lola
     
    merci avion je te met le code du formulaire :

    -----page du champs recherche--------
    <form action="monsite" id="cse-search-box">
    <div>
    <input type="hidden" name="cx" value="partner-pub-2645785625041481:4qxhypn4fyw" />
    <input type="hidden" name="cof" value="FORID:10" />
    <input type="hidden" name="ie" value="ISO-8859-1" />
    <input type="text" name="q" size="50" />
    <input type="submit" class="c1" name="sa" value="rechercher" />
    </div>
    </form>

    ----PAGE de resultats--------
    <div id="cse-search-results"></div>
    <script type="text/javascript">
    var googleSearchIframeName = "cse-search-results";
    var googleSearchFormName = "cse-search-box";
    var googleSearchFrameWidth = 800;
    var googleSearchDomain = "www.google.com";
    var googleSearchPath = "/cse";
    </script>
    <script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script>

    j'opterais plus pour la deuxième solution sa ma l'aire plus simple
    0
  10. lola
     
    merci avion sa y est sa marche !
    mais maintenant j'aimerais que tu m'aide une dernière fois :) lol
    le résultat s'affiche mais il disparait quand je tape un autre sujet de recherche
    et j'aimerais qu'il s'additionne mais pas jusqu'a l'infini donc disons les 25 premiers mais comment faire ?

    je met le code :

    <?php echo $_GET['q']; ?>

    tks
    0
  11. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Crée un fichier "recherches.xml" contenant ceci :
    <?xml version="1.0" encoding="utf-8"?>
    <searches></searches>
    N'oublie pas de le rendre accessible en écriture.

    Crée un autre fichier, "latestsearches.class.php" (par exemple) contenant ce script.

    Pour afficher les dernières recherches :
    <?php
    include('latestsearches.class.php');
    
    $latestSearches = new LatestSearches('recherches.xml');
    $searches = $latestSearches->getLatestSearches();
    
    echo '<ol>';
    foreach($searches as $search) {
    	echo '<li>'.$search.'</li>';
    }
    echo '</ol>';
    ?>


    Pour enregistrer la nouvelle recherche (sur la page des résultats) :
    <?php
    if(isset($_GET['q']) && !empty($_GET['q'])) {
    	include('latestsearches.class.php');
    	$latestSearches->addSearch($_GET['q']);
    }
    ?>


    S'il y a des bugs, n'hésite pas à me le dire.
    0
  12. lola
     
    il y'a aucun messages d'erreurs mais rien qui ne s'affiche
    est ce que sa viendrait de mon fichier xml qui n'a pas l'autorisation d' écriture pour la permission publique alors que pour les permissions groupe et propriétaire c'est bon mais sa ne veut pas marché pour public...
    c'est bien grâce a filezilla que lon autorise l'écriture ?

    -sinon je dois bien mettre dans ma page index.php :

    <?php
    if(isset($_GET['q']) && !empty($_GET['q'])) {
    include('latestsearches.class.php');
    $latestSearches->addSearch($_GET['q']);
    }
    ?>


    avec

    <?php
    include('latestsearches.class.php');

    $latestSearches = new LatestSearches('recherches.xml');
    $searches = $latestSearches->getLatestSearches();

    echo '<ol>';
    foreach($searches as $search) {
    echo '<li>'.$search.'</li>';
    }
    echo '</ol>';
    ?>


    -dans la page latestsearches.class.php
    je met

    le script https://gist.github.com/anonymous/3f7bd7dd879ac7bf0cd8


    en faisant comme ca j'ai plus aucun resultats de google qui s'affiche et aucun mots de ma recherche qui s'affiche

    je viens de voir que dans filezilla j'ai htdocs en dussous un dossier include et un autre tmp
    peut etre que le fichier include y est pour quelque chose ?

    merci en tt cas f16
    0
  13. lola
     
    je pense que le probleme viens d'ici :

    Fatal error: Call to a member function addSearch() on a non-object in /data/henry/web/2/0/monsite.com/htdocs/index.php on line 119

    line 119 = $latestSearches->addSearch($_GET['q']);
    0
  14. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Pour le script d'ajout, il ne faut pas oublier d'inclure la classe.

    Donc sur ta page des résultats :
    <?php
    include('latestsearches.class.php');
    
    if(isset($_GET['q']) && !empty($_GET['q'])) {
    	include('latestsearches.class.php');
    	$latestSearches->addSearch($_GET['q']);
    }
    ?>


    Sur n'importe quelle page, pour voir les dernières recherches effectuées :
    <?php
    include('latestsearches.class.php');
    
    $latestSearches = new LatestSearches('recherches.xml');
    $searches = $latestSearches->getLatestSearches();
    
    echo '<ol>';
    foreach($searches as $search) {
    	echo '<li>'.$search.'</li>';
    }
    echo '</ol>';
    ?>


    Pour les droits, il faut autoriser tout le monde à écrire sur le fichier ; Tu peux le faire via Filezilla en faisant un clic droit sur le fichier et en sélectionnant l'option "Attributs du fichier".
    0
  15. lola
     
    le problème je pense que c'est ds latestsearches.class.php

    <?php
    class LatestSearches {
    private $max = 25;
    private $filename;
    private $dom;

    Fatal error: Cannot redeclare class LatestSearches in /data/henry/web/2/0/monsite.com/htdocs/latestsearches.class.php on line 2
    0
  16. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Si tu places les deux scripts sur la même page, retire le second include.
    0
  17. lola
     
    sa me met ceci mtn vraiment desole pourtant j'essaie tout bien avec toutes les combinaisons possible

    quand je met les 2 dans le meme fichier avec la deuxieme include en moins :
    Fatal error: Class 'LatestSearches' not found in /data/henry/web/2/0/monsite.com/htdocs/index.php on line 102

    <?php
    $latestSearches = new LatestSearches('recherches.xml'); <----ligne 102---
    $searches = $latestSearches->getLatestSearches();

    quand je mets ds un nouveau fichier test.php le script "voir les dernières recherches effectuées"

    Fatal error: Cannot redeclare class lLatestSearches in /data/henry/web/2/0/monsite.com/htdocs/latestsearches.class.php on line 2

    <?php
    class lLatestSearches {
    0
  18. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Premier problème : tu n'inclus pas le fichier
    Deuxième : tu l'inclus plus d'une fois
    0
  19. lola
     
    sa met tjrs la meme erreur
    mais je crois que je suis trop nulle
    donc merci comme même f16 de m'avoir aidé
    0
  • 1
  • 2