Erreur php

Résolu
Sn4k3r -  
 Sn4k3r -
Bonjour, j'ai un petit soucis avec mon fil d'ariane
les erreurs suivantes me sont renvoyés :

Notice: Undefined index: Site in C:\Program Files\EasyPHP 2.0b1\www\Site\fonction.php on line 11

Notice: Undefined index: index.php in C:\Program Files\EasyPHP 2.0b1\www\Site\fonction.php on line 11

<?php
// Fonction fildarianise
function fildarianise(&$titres, $separateur=' > ')
{

$baseUrl = 'http://'.$_SERVER['HTTP_HOST'];
$retour = '<span class="ariane"><a href=' . $baseUrl . '>' . $titres[0] . '</a>';
$chemin = explode("/", substr($_SERVER['PHP_SELF'], 1));

if (is_array($chemin)) foreach ($chemin as $k=>$v) if ($titres[$v] !== false)
{
$baseUrl .= "/$v";
$titre = isset($titres[$v]) ? $titres[$v] : $v;
$retour .= $separateur . '<a href=' . $baseUrl . '>' . $titre . '</a>';
}
$retour .= '</span>';
return $retour;
}

// Un essai...
$titres = array(0=>'Accueil', 'cat1');
echo "Vous etes ici:"; echo fildarianise($titres);
?>

Si quelqu'un voit d'ou vient le soucis :d j'accepterais sont aide volontier.

Merci

Sn4k3r
Configuration: Windows XP
Firefox 2.0.0.13

1 réponse

  1. artos
     
    Tu peux mettre les numéros de ligne stp ?

    Sinon, le "!==", je suis pas sur que ca marche. Essaie avec "!=", ca c'est sur que c'est bon.
    0
    1. Sn4k3r
       
      ligne 11 c'est la :
      if (is_array($chemin)) foreach ($chemin as $k=>$v) if ($titres[$v] !== false)
      0
    2. Sn4k3r
       
      je viens de tester le != il faut le laisser sinon la fonction ne fonctionne plus corréctement.
      0
      1. artos > Sn4k3r
         
        Ben justement, le prob c'est que ta fonction marche pas Oo.
        Normalement, un non equal se traduit par != . En tout cas, en php j'ai toujours écrit != et dans les autres langages aussi.
        Dans la logique, le "$var !== 4" signifie "$var non equal recoit 4". Donc on peut imaginer que ca renvoie true en permanence car l'attribution ne se fait pas (c'est totalement tordu par les cheveux, je vous l'accorde ;) ).
        Mais comme l'erreur est à cette ligne, je pense que ca doit etre ca.
        Déjà, imbrique mieux : if, saut de ligne, foreach, saut de ligne, etc... Que si l'erreur vient du foreach ca sera plus simple de la localiser.

        Sinon, faudrait donner des infos supplémentaires : que dois faire ton code, etc... Et imbrique mieux.
        0
      2. Sn4k3r > artos
         
        Salut,

        donc j'ai mieux organisé mon code, l'erreur se trouve normalement ici :
        if ($titres[$v] !== false)

        j'ai fait comme tu m'as dit != mais j'ai toujours la même erreur. Donc si tu vois une autre solution pour résoudre mon problème, je suis preneur.

        Ciao
        0
      3. Sn4k3r > artos
         
        C'est bon, c'est réglé!
        Merci de ton aide!

        Ciao
        0