Moteur de recherche en php

dante20007 Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -  
dante20007 Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je voudrais faire un petit moteur de recherche en php pour mes pages html mais cela ne marche pas, pourquoi?


<?php /* -------Déclaration des variables ----------*/
$i=0; //initialisation du compteur de résultat à zéro
$resultat=""; //initialisation de la chaine qui stocke les fichiers de résultats
$trouve=0; //initialisation de la vraible "drapeau"
if ($_POST['action']=="Recherche Interne" && $_POST['recherche']!="") {
$files = glob("*.html"); //changer ici par l'extension voulue
foreach ($files as $filename) { //boucle qui ouvre les fichiers 1 par 1
$fichier = fopen($filename,"r");
while (!feof ($fichier)) {
$donnees = strtolower(strip_tags(fgets($fichier, 4096)));
$pos = strpos($donnees, strtolower($_POST['recherche']));
if ($pos>0) $trouve=1;
}//fin de la boucle
if ($trouve==1) {
$resultat.="<a href='$filename'>$filename</a><br>";
$i++;
}
fclose($fichier);
$trouve=0;
}
}
?>

<html>

<head>
</head>

<body>
<!-- formulaire de recherche -->
<form name="moteur" method="post">
<input type="text" name="recherche">
<input type="submit" name="action" value="Recherche Interne">
</form>
<!--fin du formulaire -->

<?
//affichage des resultats
echo "<h4>$i Résultat(s) pour l'occurence : $recherche </h4>";
echo $resultat;
if ($resultat=="") echo "pas de résultat trouvé";
?>
</body>
</html>
A voir également:

3 réponses

clintm Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   75
 
je ne vois pas pourquoi, mais au lieu de if($machin == "")

tu peux utiliser if(empty($machin))) ou if(!isset($machin))

sinon, tu peux utiliser MySQL


@+
0
dante20007 Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   10
 
ok merci je vais essayer
0
dante20007 Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   10
 
en fait il me met :
Warning: Invalid argument supplied for foreach() in /mnt/150/sdb/9/d/dante20007/moteur.php on line 8

et la ligne 8 correspond à:
foreach ($files as $filename) { //boucle qui ouvre les fichiers 1 par 1
0