IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fil d'ariane extra simple en php


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Fil d'ariane extra simple en php
    Bonjour,
    Après avoir passé toute ma journée (depuis ce matin 8h00) à chercher sur le net comment faire une fil d'ariane simple et qui fonctionne, je m'en remets à vous pour un peu d'aide d'autant que je suis complètement novice dans le php...

    Alors voilà : j'ai un site en php sur lequel je dois mettre un fil d'ariane.
    Ma page d'accueil est index.php dans laquelle j'ai mis dans la <div> qui m'intéresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="ariane"> 
    <?php
    include("ariane.php");
    ?>	
    </div>
    J'ai par ailleurs un fichier ariane.php dans lequel j'ai mis :
    <p>Vous êtes ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $_GET["page"] = $_SERVER['REQUEST_URI'];
    echo $_GET["page"];
    echo "<br>";
    $array = explode("/",$_GET["page"]);
    echo $array[2]; //quel fichier doit-on accéder ?
    ?>
    Sur mes pages, je me retrouve désormais bien avec un fil d'ariane mais franchement très bancal. Il ressemble à ça :
    Vous êtes ici : /tp2-3/index.php?%20page=0
    index.php?%20page=0 
    alors que je cherche à obtenir :
    Vous êtes ici : Accueil / Chapitre 1 / Partie 3

    J'ai vu plein de choses sur le net mais rien de fonctionne ou plutôt sans doute, je n'arrive pas à faire fonctionner le truc...

    Par avance, un GRAND MERCI pour votre aide !

    Reals 10

  2. #2
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Je l'avais fait dans le temps :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php 
    function fil_ariane()
    {
    $chemabs=$_SERVER[SERVER_NAME].$_SERVER[PHP_SELF]; //chemin absolu
    $simpleslash="/";
    // recherche de l'emplacement du 1er /
    $possimpleslash=strpos($chemabs,$simpleslash); // position du 1er slash
    $chaine=$chemabs[$possimpleslash+1];
    for ($i=$possimpleslash+2;$i<strlen($chemabs);$i++) // extraction de la string, suite à ce 1er slash
         $chaine.=$chemabs[$i];
    $chaine=strrev($chaine); // inversion de la string
    $possimpleslash=strpos($chaine,$simpleslash); //1er slash à partir de la fin
    $chaine2=$chaine[$possimpleslash+1];
    for ($i=$possimpleslash+2;$i<strlen($chaine);$i++) // extraction de la string (suite à ce slash (donc si la chaîne n'était pas inversée, supprime tout ce qui est après le slash
         $chaine2.=$chaine[$i];
    $chaine=strrev($chaine2); // inversion de la chaîne
    $chaine=str_replace("/"," / ",$chaine);
    return($chaine);
    }
    echo "<font face=Arial>Vous &ecirc;tes ici :".fil_ariane()."</font><br>";	 
    ?>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci Laurent pour ta rapidité !

    Malheureusement, je viens de tester et j'ai 2 messages d'erreur à la ligne 7 :
    1 - Notice: Use of undefined constant SERVER_NAME - assumed 'SERVER_NAME' in D:\Logiciels\wamp\www\tp2-3\ariane.php on line 7

    2 - Notice: Use of undefined constant PHP_SELF - assumed 'PHP_SELF' in D:\Logiciels\wamp\www\tp2-3\ariane.php on line 7

    Et, le fil d'ariane est visible sous cette forme désormais :
    Vous êtes ici :tp2-3

    ...alors que tp2-3 correspond en fait à mon dossier dans lequel sont contenus tous mes fichiers php.

    Reals 10

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Tu fais un test en local ; essaie en ligne ; je crois que c'est nécessaire...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Et bien en fait, je viens de tester sur FREE et j'ai le même résultat :
    Vous êtes ici :test / tp2-3

    (test étant le dossier que je viens de créer chez Free et tp2-3 étant le dossier dans lequel sont contenus mes fichiers php).

    Reals10

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Pas tout-à-fait car tu n'as plus les warnings ; et d'ailleurs, pour ne pas les avoir, même en local, rajoute un @ en début de ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @$chemabs=$_SERVER[SERVER_NAME].$_SERVER[PHP_SELF];
    Et si le script est placé dans un fichier contenu par le répertoire tp2-3, ça marche bien ! Si tu souhaites obtenir autre chose que le nom du répertoire, précise ce que tu veux et il faudra probablement un peu de code en plus.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci pour l'astuce du @...je ne savais pas.

    En fait, ce que je souhaiterais, un fil d'ariane qui indique là où se trouve le visiteur dans le site par rapport à l'Accueil.
    J'ai un site avec des onglets :

    Une page Accueil (index.php)
    Une page Mes photos (photos.php) (avec des liens vers une page photo01.php, une page photo02.php, une page photo03.php)
    Une page graphiques.php
    Une page contact.php


    Je souhaiterais que mon fil d’Ariane soit par exemple, si le visiteur se trouve sur la page de la photo 03 :

    Accueil < Mes photos < Photo 3


    Reals10

  8. #8
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    En plus du nom de tes pages, donne le nom des répertoires (l'arborescence du site, quoi) que je comprenne bien ; car ce que je comprends de ton exemple, c'est que tu as un répertoire "Accueil" qui contient un répertoire "Mes photos" qui lui-même contient un répertoire "Photo 3" ; j'ai bien compris ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je vais tenter d'être plus clair :
    En fait, j'ai un dossier www dans wamp.
    Dans www, j'ai un dossier appelé tp2-3.
    Dans le dossier tp2-3, j'ai tous les fichiers php (index.php, ...).

    Merci encore pour ton aide.

  10. #10
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    En plus du nom de tes pages, donne le nom des répertoires (l'arborescence du site, quoi) que je comprenne bien ; car ce que je comprends de ton exemple, c'est que tu as un répertoire "Accueil" qui contient un répertoire "Mes photos" qui lui-même contient un répertoire "Photo 3" ; j'ai bien compris ?
    Accueil ne contient pas Mes photos.

    dans tp2-3, j'ai tous mes fichiers php en vrac avec notamment index.php, photos.pho, photo01.php, .... graphiques.php,....).

    Pour faire plus simple, quand je suis sur la page Accueil, le fil d'ariane devra être : accueil

    Quand je suis sur la page de la photo 3, le fil d'ariane devra être :
    photos<photo03

    Quand je suis sur la page Mes illustrations, le fil d'ariane devra être : illustrations

    Quand je suis sur la page illustration 1 de l'onglet Mes illustrations, le fil d'ariane devra être :
    Mes illustrations < Illustration 1

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Donc le fil d'ariane te dira un truc du style vous êtes ici : www/tp2-3...
    si tu veux qu'il te dise (par exemple) Vous êtes ici : Accueil < Mes photos < Photo 3
    il te faut créer ces 3 répertoires...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Oups, comme j'ai répondu presqu'en même temps que toi, je n'ai pas vu ta réponse ; le plus simple est que ton site possède l'arborescence que tu souhaites montrer, sinon ce code ne marchera pas pour ton besoin.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  13. #13
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Pas de souci !

    Mon arborescence est clairement établie dans un encart sur le côté :
    1. Accueil

    2. Mes photos
    photo01
    photo02
    photo03

    3. Mes illustrations
    ill01
    ill02
    ill03
    ...

    Je ne peux pas créer de nouveaux répertoires, tous les fichiers.php doivent être en vrac dans tp2-3.
    D'après les nombreux sites parcourus aujourd'hui, je crois qu'il faut créer un fichier ariane.php et dedans, mettre des "array", "explode".

    Dans index.php, il faut seulement appelé ariane.php (ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="ariane">		
    <?php
    include("ariane.php");
    ?>
    Le truc, c'est que j'ai beau essayer, ça fait maintenant plus de 12 heures que je tente de remplir le fichier ariane.php et je n'y arrive toujours pas.

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Coucou, je peux te faire un code qui va marcher, mais il faut qu'il tienne compte de ton arborescence : donne-la au complet, et sans "..."
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  15. #15
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Pas tout-à-fait car tu n'as plus les warnings ; et d'ailleurs, pour ne pas les avoir, même en local, rajoute un @ en début de ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @$chemabs=$_SERVER[SERVER_NAME].$_SERVER[PHP_SELF];
    Citation Envoyé par Reals10 Voir le message
    Merci pour l'astuce du @...je ne savais pas.
    Pour info : tu n'as pas les notice en version distante parce que l'affichage des notices n'est probablement pas activé. Attention au @ : il se contente de cacher les erreurs, alors qu'il vaut toujours mieux les résoudre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemabs=$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  16. #16
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    D'accord avec toi Celira, mais comment ferais-tu marcher cette ligne en local ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  17. #17
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Si par "Faire marcher" tu entends "ne pas avoir d'erreurs", il suffit d'ajouter les quotes comme je l'ai indiqué à la fin de mon message précédent.

    En revanche, si par faire marcher, tu entends "obtenir le résultat souhaité à l'origine", m'est avis qu'il faut revoir l'ensemble du script fil d'ariane en utilisant une variable renseignée dans chaque script php plutôt que les variables $_SERVER...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Un fil d'ariane simple avec des tableaux
    Par RobertP dans le forum Langage
    Réponses: 5
    Dernier message: 12/01/2012, 22h15
  2. Réponses: 9
    Dernier message: 14/12/2007, 13h50
  3. [PHP-JS] créer un fil d'ariane
    Par dionysos73 dans le forum Langage
    Réponses: 9
    Dernier message: 16/10/2006, 14h21
  4. Réponses: 3
    Dernier message: 30/08/2006, 16h39
  5. SQL ? ou simple probleme PHP ?
    Par snipes dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 28/03/2006, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo