Aller au contenu

recherche


auryn111

Sujets conseillés

Bonjour,

je cherche à faire un petit qq chose, tjrs sur mon site www.am2.fr

j'aimerai que dans ma bordure de gauche, par ex sous mon menu, il y ait un

espace de texte, et un bouton ok. Dans l'espace texte, les visiteurs

pourront chercher qq chose dans mon site, et en cliquant sur ok, ca

ouvrirait une nouvelle page, avec tous les résultats.

je sais que c possible, car pas mal de site ont cette fonction, mais je n'y

arrive pas...

je précise que je suis en hébergement payant, donc j'ai des fonctions comme

extensions frontpage qui sont incluses.

Merci à tous pour votre aide,

Auryn

Lien vers le commentaire
Partager sur d’autres sites

Salut ;)

Evite le langage SMS sur le forum, même si tu restes raisonnable, ça trouble d'en voir sur le Hub ;)

Je te conseille de lire le topic moteur de recherche ou quelqu'un posait déjà la question.

Sinon, ce doit être facile de trouver des scripts PHP sur le net qui proposent un moteur de recherche interne ;)

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup, et désolé pour les raccourcis de langage, moi aussi j'ai horreur du sms, c'est affreux, je ne m'en rendait pas compte.....

Merci en tout cas pour le lien, je vais aller jeter un coup d'oeil !

Auryn

Lien vers le commentaire
Partager sur d’autres sites

c'est pourtant ce qui apparaît comme la meilleure solution. Idéalement, le contenu de ton site est dans la base SQL, et PHP se charge d'interroger la base de données lors d'une recherche.

De plus c'est bien plus standardisé comme système que les extensions FrontPage. Peu d'hébergeurs fournissant cette option, tu cours le risque de refaire tout son système le jour en cas d'éventuel changement d'hébergeur ;)

De plus, les hébergeurs vont certainement commencer à être de plus en plus méfiants vis-à-vis des extensions FrontPage au vu des différents risques de sécurité encourus (j'ai vu un petit chapitre là-dessus sur un site de sécurité informatique ces derniers temps).

Concernant les solutions PHP, il n'est souvent pas nécessaire de connaître toutes les subtilités de ce langage pour mettre en place un tel système. Beaucoup de petites applications web en PHP vont tout à ta place. Au pire, tu seras amené à manipuler quelques lignes de code, mais rien de bien méchant.

Sinon il reste une solution simple: Google Custom

Bon courage ;)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

en jetant un oeil sur la page d'accueil de webmaster-hub, tu trouveras exactement ce que tu cherches, à savoir une zone texte à remplir, qui aboutit sur des résultats de recherche. Le service là est proposé par Google, mais tu peux tout aussi bien proposer Msn, ou autre.

En te servant d'un outil existant, d'un moteur existant, tu évites tout ce qui est 'création de formulaire'/recherche dans les tables, etc..

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

alors oui je n'aime pas le php, ais en effet, c'est le mieux.

J'ai trouvé une idée sur un site mais je n'arrive pas à tout faire. Du moins j'ai l'impression que cela ne fonctionne pas.

voici la page où j'ai trouvé le script :

http://www.commentcamarche.net/php/phpmoteur.php3

j'arrive à créer ma table search plus les 3 champs.

ensuite, je crée 3 fichiers txt comme ils disent, mais je les nomme comme je veux.

voilà j'ai mis tout ca sur mon site, et j'obtiens une page bizarre...

http://www.am2.fr/basededonnees/Recherche/

quand j'ouvre mon fichier d'indexation (je l'ai nommé recherche.txt), j'obtiens :

\n \n 
Indexation du site en cours
\n \n \n
\n"; $host = "localhost"; $bdd = "am2_fr_2"; /* Connexion avec MySQL */ mysql_connect($host,$user,$password) or die ("Impossible de se connecter au serveur de base de donnees"); mysql_select_db($bdd) or die ("Impossible d'accéder à la base $bdd"); $query = "DELETE FROM search"; mysql_query($query) or die ("Erreur de modification de la table"); function ScanDir($Directory){ $MyDirectory = opendir($Directory); while($Entry = readdir($MyDirectory)) { echo "
entry= $Entry
"; echo "repertoire= $Directory
"; echo "chemin= $Directory/$Entry
"; if(is_dir($Entry)&& $Entry != "." && $Entry != "..") { echo "$Entry est un repertoire
"; ScanDir("$Entry/$Directory"); } else { if (eregi(".htm",$Entry)) { $MetaTags = get_meta_tags($Directory."/".$Entry); if ($MetaTags["robots"] == "all") { $MetaKey = $MetaTags["keywords"]; $MetaKey = strtoupper($MetaKey); echo "Meta($Directory/$Entry): $MetaKey\n"; $MetaTitre = $MetaTags["title"]; echo "Meta($Directory/$Entry): $MetaTitre\n"; $query = "INSERT INTO search (lien,keyword,titre) VALUES(\"$Directory/$Entry\",\"$MetaKey\",\"$MetaTitre\")"; $mysql_result = mysql_query($query) or die ("Erreur de modification de la table par la requete \"$query\""); } } } } closedir($MyDirectory); } $open_basedir="."; ScanDir("."); mysql_close(); ?>

avez vous une idée de là où je n'ai pas réussi ?

Merci !

Modifié par Monique
Lien vers le commentaire
Partager sur d’autres sites

Un fichier php se termine par .php, et non .txt.

Autrement dit, il te faut l'appeler recherche.php

Pour ce qui est du code que tu mets dans ton message, tu peux le mettre entre 'quote', ou entre 'code', soit : [ CODE ] (sans les espaces), puis [ /CODE ] (sans les espaces également), cela aura pour effet de le placer ainsi :

\n \n 
Indexation du site en cours
\n \n \n
\n"; $host = "localhost"; $bdd = "xxxx"; /* Connexion avec MySQL */ mysql_connect($host,$user,$password) or die ("Impossible de se connecter au serveur de base de donnees"); mysql_select_db($bdd) or die ("Impossible d'accéder à la base $bdd"); $query = "DELETE FROM search"; mysql_query($query) or die ("Erreur de modification de la table"); function ScanDir($Directory){ $MyDirectory = opendir($Directory); while($Entry = readdir($MyDirectory)) { echo "
entry= $Entry
"; echo "repertoire= $Directory
"; echo "chemin= $Directory/$Entry
"; if(is_dir($Entry)&& $Entry != "." && $Entry != "..") { echo "$Entry est un repertoire
"; ScanDir("$Entry/$Directory"); } else { if (eregi(".htm",$Entry)) { $MetaTags = get_meta_tags($Directory."/".$Entry); if ($MetaTags["robots"] == "all") { $MetaKey = $MetaTags["keywords"]; $MetaKey = strtoupper($MetaKey); echo "Meta($Directory/$Entry): $MetaKey\n"; $MetaTitre = $MetaTags["title"]; echo "Meta($Directory/$Entry): $MetaTitre\n"; $query = "INSERT INTO search (lien,keyword,titre) VALUES(\"$Directory/$Entry\",\"$MetaKey\",\"$MetaTitre\")"; $mysql_result = mysql_query($query) or die ("Erreur de modification de la table par la requete \"$query\""); } } } } closedir($MyDirectory); } $open_basedir="."; ScanDir("."); mysql_close(); ?>

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

En mettant un petit peu en ordre, on obtient donc ceci :

Indexation du site en cours 

<?
$host = "localhost";
$bdd = "am2_fr_2"; /* Connexion avec MySQL */ mysql_connect($host,$user,$password) or die("Impossible de se connecter au serveur de base de donnees");

mysql_select_db($bdd) or die ("Impossible d'accéder à la base $bdd");

$query = "DELETE FROM search";

mysql_query($query) or die ("Erreur de modification de la table");
function ScanDir($Directory){
$MyDirectory = opendir($Directory);
while($Entry = readdir($MyDirectory)) {
 echo " entry= $Entry ";
 echo "repertoire= $Directory ";
 echo "chemin= $Directory/$Entry ";
 if(is_dir($Entry)&& $Entry != "." && $Entry != "..") {
 echo "$Entry est un repertoire ";
 ScanDir("$Entry/$Directory");
 }
  else {
 if (eregi(".htm",$Entry)) {
   $MetaTags = get_meta_tags($Directory."/".$Entry);
   if ($MetaTags["robots"] == "all") {
   $MetaKey = $MetaTags["keywords"];
   $MetaKey = strtoupper($MetaKey);
   echo "Meta($Directory/$Entry): $MetaKey\n";
     $MetaTitre = $MetaTags["title"];
   echo "Meta($Directory/$Entry): $MetaTitre\n";
   $query = "INSERT INTO search (lien,keyword,titre) VALUES(\"$Directory/$Entry\",\"$MetaKey\",\"$MetaTitre\")";
   $mysql_result = mysql_query($query) or die ("Erreur de modification de la table par la requete \"$query\"");
   }
   }
 }
 }
closedir($MyDirectory);
}
$open_basedir=".";
ScanDir(".");
mysql_close();

?>

Par rapport à ceci, il te manque la première partie (celle qui donne les login/mot de passe. Si tu as cette partie, c'est bon. Si tu la postes, modifies tes login/mot de passe avant de 'poster'.

Tu devrais avoir un message d'erreur, si ca ne marche pas. Lequel est-ce ?

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...