[PHP] erreur offset
digsaw_-
Messages postés
537
Statut
Membre
-
digsaw_- Messages postés 537 Statut Membre -
digsaw_- Messages postés 537 Statut Membre -
Bonjour,
Voici mon code
$d = dir("./");
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="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="mot">
<input type="submit" name="submit" value="Envoyer">
</form>
et voici l'erreur lors de la validation :
undefined offset : 1 on line 13
line 13 = $data = trim($new[1]);
Merci d'avance
--
Digsaw
'Avoir une section fumer dans un restaurant, c'est comme avoir une section pisseur dans une piscine !'
Voici mon code
$d = dir("./");
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="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="mot">
<input type="submit" name="submit" value="Envoyer">
</form>
et voici l'erreur lors de la validation :
undefined offset : 1 on line 13
line 13 = $data = trim($new[1]);
Merci d'avance
--
Digsaw
'Avoir une section fumer dans un restaurant, c'est comme avoir une section pisseur dans une piscine !'
6 réponses
-
C'est parce que $new[1] n'existe pas, la clé numéro 1 est en dehors du tableau, essaye avec $new[0].
Ou alors c'est la regex qui n'est pas juste et ne trouve rien ... -
j'ai déjà essayer avec $new[0] mais sa me fait la même erreure.
-
essayes:
while($entry = $d->read()) { if(preg_match("#($mot+?)#s", $entry, $new)){ $data = trim($new[1]); echo '<a href="'.$entry.'">'.$data.'</a><br />'; } } -
Merci.
Du coup l'erreure ne s'affiche plus !
Maintenant reste a voir pourquoi je n'arrive pas a avoir le résultat de ma recherche ^^ !
Merxci pour votre aide ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
mets des echo pour voir:
while($entry = $d->read()) { echo "<br />Entry= ".$entry." mot= ".$mot; if(preg_match("#($mot+?)#s", $entry, $new)){ $data = trim($new[1]); echo '<a href="'.$entry.'">'.$data.'</a><br />'; } }
et essayes aussi:
$pattern="/#(".$mot."+?)#s/"; preg_match($pattern, $entry, $new) -
echo "<br />Entry= ".$entry." mot= ".$mot;
Me montre bien que le entry marche puisqu'il me met la liste des fichier que je cherche.
et le $mot récupère bien la valeur du INPUT.
Mais si je rajoute pas de echo, toujours aucuns résultats...
même en essayant avec ceci :
$pattern="/#(".$mot."+?)#s/";
preg_match($pattern, $entry, $new)