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 :

[Système] Systeme de navigation


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut [Système] Systeme de navigation
    Bonjour!
    Je me questionne à propos du système de navigation de mon site.
    J'aimerai que la banniere de navigation soit omniprésente sur toutes les pages et que seule la partie centrale du site change en fonction de la page selectionnée. A priori rien de compliqué.
    1ère Solution : Inclusion de fichiers Php, ça marche très bien, mais malheureusement , je préfere une url 'propre' qui reste la même a chaque page, du type "http://cacaboudin/index.php"
    2eme Solution : les pseudo-frame, je n'ai pas envie de me lancer la dedans car parait-il c'est une méthode controversée par les puristes pour raisons d'accessibilité.
    3ème Solution : J'ai alors pensé créer une session à l'accueil du site, et à chaque clic sur un lien du menu de navigation, la valeur d'une variable de session change pour correspondre a la page à afficher, via une fonction php de mon fichier index.php


    Au début de l'index, cette portion de code est censée éxecuter la fonction correspondante à la page a afficher:
    if ($_SESSION['lien']=="accueil"){fonctions a éxécuter pour cette pâge}
    if ($_SESSION['lien']=="forum"){fonctions a éxécuter pour cette pâge}
    if ($_SESSION['lien']=="news"){fonctions a éxécuter pour cette pâge}

    Ensuite, mes liens de navigation ressembleraient à ceci :
    <a href="<?php $_SESSION['lien'] = 'accueil';echo $PHP_SELF ?>">Page d'accueil</a>
    <a href="<?php $_SESSION['lien'] = 'forum' ;echo $PHP_SELF ?>">forum</a>
    <a href="<?php $_SESSION['lien'] = 'news' ;echo $PHP_SELF ?>">News</a>

    Ca ne fonctionne pas. J'ai remarqué que le bout de php en valeur des href est éxecuté au chargement de la page, alors que le le lien n'a pas été cliqué
    Ai-je choisi la bonne méthode de navigation? N'ya t-il pas mieux?
    Peut-on au lieu d'afficher une url "http://cacaboudin/index.php" afficher une url "http://cacaboudin/" pour toutes les pages?
    Merci de m'avoir lu !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Tu ne veux pas qu'un internaute mette une page en marque-page ?

  3. #3
    Membre émérite
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Par défaut
    Le problème avec ton code c'est que tu ne peux pas exécuter de PHP côté client comme tu souhaites le faire.

    Tiens... essaye ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ($_GET['lien']=="accueil"){[u]inclure [/u]la page}
    if ($_GET['lien']=="forum"){[u]inclure [/u]la page}
    if ($_GET['lien']=="news"){[u]inclure [/u]la page}
     
    Ensuite, mes liens de navigation ressembleraient à ceci :
    <a href="index.php?lien=accueil">Page d'accueil</a>
    <a href="index.php?lien=forum">forum</a>
    <a href="index.php?lien=news">News</a>
    Sinon, l'autre solution plus complexe est de faire un onclick sur le lien qui appel une fonction javascript. Cette fonction javascript enregistrera dans un cookie l'emplacement désiré et recherge la page. Le php récupère alors le cookie à chaque chargement pour vérifier quelle page afficher. Cette méthode te permet par contre d'éliminer les paramàtres dans l'adresse.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Le php étant un langage côté serveur, il est exécuté... sur le serveur et pas sur le client. C'est pour cela que tes affectations de variables ne fonctionnent pas : elles sont réalisées côté serveur avant l'envoi au client.

Discussions similaires

  1. [Système] system() et arguments
    Par cricrides dans le forum Langage
    Réponses: 2
    Dernier message: 23/04/2007, 18h50
  2. [Système] Systeme de debogage
    Par toddy_101 dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2007, 10h59
  3. [Système] Systeme d'apprentissage a partir de C++
    Par black.out dans le forum Langage
    Réponses: 4
    Dernier message: 14/03/2006, 16h33
  4. [Système] Systeme antileech et téléchargement
    Par Invité dans le forum Langage
    Réponses: 15
    Dernier message: 08/02/2006, 14h49
  5. [Système] systeme d'annonces....
    Par maverick7680 dans le forum Langage
    Réponses: 6
    Dernier message: 18/01/2006, 11h38

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