Moteur de recherche de fichier

Fermé
sofiane3993 Messages postés 64 Date d'inscription mardi 6 janvier 2015 Statut Membre Dernière intervention 10 février 2015 - Modifié par sofiane3993 le 16/01/2015 à 10:02
sofiane3993 Messages postés 64 Date d'inscription mardi 6 janvier 2015 Statut Membre Dernière intervention 10 février 2015 - 16 janv. 2015 à 13:47
Bonjour,

jai trouve ce code qui correspond a ce que je souhaite mais voila j'ai une erreur que je ne comprend pas tellement

voici le code si quelq'un peut m'aider il est le bienvenue

$d = dir("uploads/");

if(isset($_POST['submit']) AND !empty($_POST['mot'])){
$mot = trim($_POST['mot']);

while($entry = $d->read()) { 
    preg_match("#($mot+?)#s", $entry, $new);
    $data = trim($new[1]);
    if (!empty($data)) echo '<a href="'.$entry.'">'.$data.'</a><br />';
} 
$d->close();
}


<form action="recherche.php" method="post">
<input type="text" name="mot">
<input type="submit" name="submit" value="Envoyer">
</form>



ah et le code d'erreur est le suivant :

Notice: Undefined offset: 1 in C:\wamp\www\final\recherche.php on line 8


Dans un monde ou plus personne ne fais attention aux autres il est bon de voir que l'entraide existe encore.
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.
A voir également:

2 réponses

sofiane3993 Messages postés 64 Date d'inscription mardi 6 janvier 2015 Statut Membre Dernière intervention 10 février 2015 2
16 janv. 2015 à 11:38
Bon je me suis repondu tout seul maintenant je n'ai plus de message d'erreur
while($entry = $d->read()) { 
    if(preg_match("#($mot+?)#s", $entry, $new)){ 
    $data = trim($new[1]); 
    echo '<a href="'.$entry.'">'.$data.'</a><br />';
    } 
}  
 
1
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
Modifié par jordane45 le 16/01/2015 à 11:45
Bonjour,

Tu peux déjà ajouter quelques vérifications avant de lancer le traitement ainsi qu'un peu de debug...

du genre:
$erreur = array();
$d = dir("uploads/");

if(isset($_POST['submit']) AND !empty($_POST['mot'])){
$mot = trim($_POST['mot']);

while($entry = $d->read()) { 
    preg_match("#($mot+?)#s", $entry, $new);
    if(is_array($news) && count($news)>0){
      $data = trim($new[1]);
      if (!empty($data)) echo '<a href="'.$entry.'">'.$data.'</a><br />';
    }else{
       $erreur[]['txt'] = $entry;
       $erreur[]['is_array'] = 'Not array ';
       $erreur[]['new']=$new;
    }
} 
$d->close();

//affichage des erreurs....
if(count($erreur)>0){
  print_r($erreur);
}
}



Et/ou tu peux utiliser un IF sur preg_match...

 if(preg_match("#($mot+?)#s", $entry, $new)){
    $data = trim($new[1]);
    if (!empty($data)) echo '<a href="'.$entry.'">'.$data.'</a><br />';
// ça retourne un résultat...
}else{
 //aucun resultat trouvé
 $erreur[]['txt'] = $entry;
 $erreur[]['erreur']='aucun resultat';
}



Cordialement,
Jordane
1
sofiane3993 Messages postés 64 Date d'inscription mardi 6 janvier 2015 Statut Membre Dernière intervention 10 février 2015 2
16 janv. 2015 à 13:47
oui tu a raison je devrais faire un peu de debug :) je vais essayer cela de suite
0