

darkpoet
Membres-
Compteur de contenus
3 -
Inscription
-
Dernière visite
À propos de darkpoet
- Date de naissance 27/02/1974
Profile Information
-
Sexe
Male
-
Localisation
2
darkpoet's Achievements

Junior Member (3/12)
0
Réputation sur la communauté
-
bonjour a tous j' ai instaler moteured sur mon site (en construction) mais chaque recherche mene a une page "executer script resultat" la requette etcetcect j' ai regarder le script resultat mais je vois pas ce qui cloche,je met le script: <?php // ################################################################################ ##### // ============================================================================= // Moteur'Ed 1.0 - © 2001 Thierry Arsicaud (deltascripts@ifrance.com) // ============================================================================= // ******************************************************************************** ***** // Configuration des paramètres d'affichage des résultats. // Les intitulés des pages correspondantes sont affichés dans un tableau, par groupe de // n réponses (paramètre à spécifier) // ******************************************************************************** ***** // === Paramètres d'affichage du Tableau === $largeurTableau="95%"; // Largeur du Tableau $NombreRepPages=10; // Nombre n d'intitulés de pages Web à afficher par pages de résultat $NombreRepMax=200; // Nombre maximum de résultats à traiter par le moteur $policeResultats="verdana"; // Police de caractères utilisée pour l'affichage des résultats $couleurPoliceResultats="#000000"; // Couleur de la police de caractères utilisée pour l'affichage des résultats // ################################################################################ ##### ?> <html> <head> <title>Moteur'Ed - Résultats de la recherche</title> </head> <body> <!- inserez la première partie de votre code html ici -> <?php // ################################################################################ #### // ******************************************************************************* // Localisation de l'index dans lequel doit être effectuée la recherche // ******************************************************************************* $fichierIndex="indexsite.dat"; // ******************************************************************************* // Liste des "mots vides", dont les valeurs ne doivent pas être prises en compte // lors des recherches dans l'index // ******************************************************************************* $motsVides=" and or et ou le la les un une du de des a à au aux son sa ses ne ni non sauf ce ces cet je tu il elle on nous vous ils elles etc mon ma ton ta vos se y en "; // ******************************************************************************* // Affichage d'un message d'avertissement dans le cas où le site n'a pas encore // été indexé // ******************************************************************************* if(!file_exists("indexsite.dat")) { print("Le site Web n'a pas encore été indexé : veuillez exécuter le <b>script d'indexation</b> avant d'effectuer votre première recherche.\n"); exit; } // ******************************************************************************* // Affichage d'un message d'avertissement dans le cas de figure où l'utilisateur // a activé la recherche sans avoir préalablement saisi de requête ($requete est nul) // ******************************************************************************* if(!$requete) { print("<center>\n"); print("<font face=\"$policeResultats\" size=\"-1\" color=\"$couleurPoliceResultats\">\n"); print("Vous avez activé la recherche sans avoir préalablement saisi votre requête.<br>"); print("<a href=\"moteured.php\">Cliquez ici</a> pour effectuer une nouvelle recherche.<br>\n"); print("</font>\n"); print("</center>\n"); } else { // ******************************************************************************* // Cas de figure où l'utilisateur a bien saisi une requête // ******************************************************************************* // ******************************************************************************* // Analyse de la requête et préparation de la recherche. La requête (entrée par // l'utilisateur dans la valeur $requete) est décomposée en une série de mots clés, // stockés dans les tableaux $expressions et $motsCles // ******************************************************************************* // === Premier nettoyage de la requête formulée par l'utilisateur === $requete=trim(stripslashes($requete)); // *************************************************** // === Extraction des expressions entre guillemets === // *************************************************** $requete1=$requete; $expressions[]="Liste des expressions"; while($testExpress=ereg("[\"]([^\"]+)[\"]",$requete1,$corresExpress)) { $exp=$corresExpress[1]; $expressions[]=$exp; $requete1=ereg_replace($corresExpress[0],"",$requete1); } $nombreExpressions=count($expressions)-1; // Nombre d'expressions à analyser // ******************************** // === Extraction des mots-clés === // ******************************** // === Définition de la fonction netGuil, // utilisée pour le nettoyage des termes // isolés compris entre guillemets === function netGuil($term) { if(ereg("^[\"]*([^\"]+)[\"]*$",$term,$corres)) { $reps=$corres[1]; return $reps; } else { return($term); } } // === Stockage des valeurs dans le tableau $motsCles === $requete2=$requete; $motsCles[]="Liste des mots-clés"; $mot=trim(stripslashes(strtok($requete2," "))); if(!(ereg("[ ]".$mot."[ ]",$motsVides))) { $motsCles[]=netGuil($mot); } while($mot=trim(stripslashes(strtok(" ")))) { if($mot and (!(ereg("[ ]".$mot."[ ]",$motsVides)))) { $motsCles[]=netGuil($mot); } } $nombreMotsCles=count($motsCles)-1; // Nombre de mots-clés à analyser // ******************************************************************************** **** // Ouverture du fichier indexsite.dat et stockage des lignes dans le tableau $contenuIndex // ******************************************************************************** **** $contenuIndex=file($fichierIndex); $nlignesIndex=count($contenuIndex); $nombreDocumentsIndexes=($nlignesIndex-1)/4; // ******************************************************************************** **** // Stockage des données dans les tableaux $cheminDocument, $titreDocument, // $descriptionDocument, $texteDocument // ******************************************************************************** **** for($compt=1;$compt<=$nombreDocumentsIndexes;$compt++) { $cheminDocument[$compt]=trim(stripslashes($contenuIndex[(4*($compt-1))+1])); $titreDocument[$compt]=trim(stripslashes($contenuIndex[(4*($compt-1))+2])); $descriptionDocument[$compt]=trim(stripslashes($contenuIndex[(4*($compt-1))+3])); $texteDocument[$compt]=trim(stripslashes($contenuIndex[(4*($compt-1))+4])); } // *************************************************************************** // ======================================================== // === Lancement de la procédure d'évaluation des pages === // ======================================================== // // Chaque page est passée en revue et se voit attribuer des points // selon les règles suivantes : // // - 2 point si la requête (considérée comme expression) est présente dans le titre // - 1 point si la requête (considérée comme expression) est présente dans le texte indexé // // - 2 point par expression présente dans le titre // - 2 point par mot-clé présent dans le titre // // - 1 point par expression présente dans le texte indexé // - 1 point par mot-clé présent dans le texte indexé // // Note : une ou plusieurs expressions présentes donnent naturellement un meilleur // score à la page // // *************************************************************************** // Les différents documents indexés spnt passés en revue et analysés for($compt=1;$compt<=$nombreDocumentsIndexes;$compt++) { $score[$compt]=0; // === Recherche de la requête (considérée comme expression) dans le titre du document : 2 points //if(eregi("(^|[ .,:;!?'()])".$requete."([ .,:;!?'()]|$)",$titreDocument[$compt])) $score[$compt]=$score[$compt]+2; // === Recherche de la requête (considérée comme expression) dans le texte indexé : 1 points if(eregi("(^|[ .,:;!?'()])".$requete."([ .,:;!?'()]|$)",$texteDocument[$compt])) $score[$compt]=$score[$compt]+1; for($a=1;$a<=$nombreExpressions;$a++) { // ===== Recherche des expressions ===== // === Recherche de l'expression dans le titre du document : 2 points s'il y a correspondance if(eregi("(^|[ .,:;!?'()])".$expressions[$a]."([ .,:;!?'()]|$)",$titreDocument[$compt])) $score[$compt]=$score[$compt]+2; // === Recherche de l'expression dans le texte indexé : 1 point s'il y a correspondance if(eregi("(^|[ .,:;!?'()])".$expressions[$a]."([ .,:;!?'()]|$)",$texteDocument[$compt])) $score[$compt]=$score[$compt]+1; } for($b=1;$b<=$nombreMotsCles;$b++) { // ===== Recherche des mots-clés ===== if(eregi("([^*]*)[*]",$motsCles[$b],$corMotCle)) { // l'utilisateur a fait suivre le mot-clé d'une astérisque (il faut donc étendre la recherche) // === Recherche du mot-clé dans le titre du document : 2 points s'il y a correspondance if(eregi("(^|[ .,:;!?'()])".$corMotCle[1],$titreDocument[$compt])) $score[$compt]=$score[$compt]+2; // === Recherche du mot-clé dans le texte indexé : 1 point s'il y a correspondance if(eregi("(^|[ .,:;!?'()])".$corMotCle[1],$texteDocument[$compt])) $score[$compt]=$score[$compt]+1; } else { // le mot-clé ne comporte pas d'astérisque // === Recherche du mot-clé dans le titre du document : 2 points s'il y a correspondance if(eregi("(^|[ .,:;!?'()])".$motsCles[$b]."([ .,:;!?'()]|$)",$titreDocument[$compt])) $score[$compt]=$score[$compt]+2; // === Recherche du mot-clé dans le texte indexé : 1 point s'il y a correspondance if(eregi("(^|[ .,:;!?'()])".$motsCles[$b]."([ .,:;!?'()]|$)",$texteDocument[$compt])) $score[$compt]=$score[$compt]+1; } } } // ******************************************************************************** **** // Tri des résultats en vue de leur affichage : // Les pages seront affichées de la plus pertinente à la moins pertinente // ******************************************************************************** **** // Détermination du score le plus élevé parmi toutes les pages analysées $HiScore=max($score); // TRI du tableau à l'aide de la fonction asort arsort($score); // Création du tableau $documentsCorrespondantsOrd $documentsCorrespondantsOrd[]=0; for(reset($score);$cle=key($score);next($score)) { if(current($score)>0) { $documentsCorrespondantsOrd[]=$cle; } } $nombreCorrespondances=count($documentsCorrespondantsOrd)-1; // ******************************************************************************** **** // Les résultats sont affichés dans un tableau, dont les caractéristiques ont été // précisées en début de script. // Note : les pages sont affichées dans l'ordre décroissant de leur pertinence // ******************************************************************************** **** print("<table width=\"$largeurTableau\" border=\"0\" align=\"center\"> \n"); // Début du code pour l'affichage du tableau print("<tr><td> \n"); if($nombreCorrespondances<1) { print("<center> \n"); print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); print("Désolé, aucune page ne correspond à la recherche : '<b>$requete</b>'. <br><br> \n"); print("</font> \n"); print("</center> \n"); } else { if(@ !$p) $p=1; if($nombreCorrespondances==1) { print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); print("La requête '<b>$requete</b>' a donné <b>1</b> résultat. <br>\n"); print("</font> \n"); } else { if($nombreCorrespondances>=$NombreRepMax) { print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); print("La requête '<b>$requete</b>' a donné plus de $NombreRepMax résultats. <br>\n"); print("</font> \n"); $nombreCorrespondances=$NombreRepMax; } else { print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); print("La requête '<b>$requete</b>' a donné <b>$nombreCorrespondances</b> résultats. <br>\n"); print("</font> \n"); } } print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); print("Liste des pages <b>".$p."</b> à <b>".(min(($p+$NombreRepPages-1),$nombreCorrespondances))."</b> :<br><br>"); print("</font> \n"); for($compt=$p;$compt<=min(($p+$NombreRepPages-1),$nombreCorrespondances);$compt++) { print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); print("<b>$compt</b>. <a href=\"".$cheminDocument[$documentsCorrespondantsOrd[$compt]]."\"><b>".$titreDocument[$documentsCorrespondantsOrd[$compt]]."</b></a><br> \n"); print($descriptionDocument[$documentsCorrespondantsOrd[$compt]]."<br><br> \n"); print("</font> \n"); } print("<center> \n"); if(($p-$NombreRepPages)>0) { print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); print("<a href=\"resultats.php?requete=".rawurlencode($requete)."&p=".($p-$NombreRepPages)."\"><< page précédente</a> \n"); print("</font> \n"); } if($nombreCorrespondances>$NombreRepPages) { print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); for($a=1;$a<=(floor(($nombreCorrespondances-1)/$NombreRepPages)+1);$a++) { if((floor($p/$NombreRepPages)+1)==$a) { print("$a \n"); } else { @ print("<a href=\"resultats.php?requete=".rawurlencode($requete)."&p=".(($a-1)*$NombreRepPages+1)."\">$a</a> \n"); } } print("</font> \n"); } if(($p+$NombreRepPages)<=$nombreCorrespondances) { print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); @ print(" <a href=\"resultats.php?requete=".rawurlencode($requete)."&p=".($p+$NombreRepPages)."\">page suivante >></a> \n"); print("</font> \n"); } print("</center> \n"); } // ************************************************************************** // Affichage du formulaire permettant d'effectuer une nouvelle recherche // ************************************************************************** print("<form action=\"resultats.php\" method=\"post\"> \n"); print("<table align=\"center\"> \n"); print("<tr><td align=\"center\"> \n"); print("<font face=\"$policeResultats\" color=\"$couleurPoliceResultats\" size=\"-1\"> \n"); print("Effectuer une nouvelle recherche: <br> \n"); print("</font> \n"); print("</td></tr> \n"); print("<tr><td align=\"center\"> \n"); print("<input type=\"text\" name=\"requete\" size=\"20\"> \n"); print(" "); print("<input type=\"submit\" value=\"Chercher\"> \n"); print("</td></tr> \n"); print("</table> \n"); print("</form> \n"); print("<center><font face=\"$policeResultats\" size=\"-2\" color=\"$couleurPoliceResultats\">Avec la complicité de <a href=\"http://www.echodelta.net/scriptsphp/moteured/\" target=\"_blank\">Moteur'Ed 1.0</a>, moteur de recherche interne en PHP.\n"); print("</td></tr> \n"); print("</table> \n"); // ************************************************************************** // Sauvegarde de la requête dans le fichier req.txt // ************************************************************************** $idFiqReq=fopen("req.txt","a+"); fputs($idFiqReq,$requete."\n"); fclose($idFiqReq); } // ################################################################################ #### ?> <!- inserez la seconde partie de votre code html ici -> </body> </html>