Google search

Résolu/Fermé
lola - 4 août 2010 à 17:39
 lola - 8 août 2010 à 13:32
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
A voir également:

21 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
6 août 2010 à 21:04
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
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
Modifié par avion-f16 le 8/08/2010 à 10:57
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
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
4 août 2010 à 19:41
0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
4 août 2010 à 19:57
+100
:-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
Modifié par avion-f16 le 4/08/2010 à 23:05
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
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
5 août 2010 à 12:08
il se passe quoi là ???
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
5 août 2010 à 12:36
C'est en réponse à ses messages et à ses "moinssoyages".
0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
6 août 2010 à 11:42
ok bien vu alors !
0
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
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
6 août 2010 à 20:14
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
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
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
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
7 août 2010 à 00:31
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
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
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
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
7 août 2010 à 13:39
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
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
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
7 août 2010 à 14:37
Si tu places les deux scripts sur la même page, retire le second include.
0
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
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
7 août 2010 à 15:44
Premier problème : tu n'inclus pas le fichier
Deuxième : tu l'inclus plus d'une fois
0
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