Moteur de recherche en php

Fermé
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009 - 25 févr. 2008 à 13:06
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009 - 25 févr. 2008 à 16:03
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 lundi 11 avril 2005 Statut Membre Dernière intervention 10 juin 2015 75
25 févr. 2008 à 15:58
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 mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009 10
25 févr. 2008 à 16:00
ok merci je vais essayer
0
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009 10
25 févr. 2008 à 16:03
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