Debutant Php... prise de tete.

Le
thierry millere
Bonjour !

Tout d'abord, soyons clairs, je suis le parfait ignare en matière de PHp.
mais je me soigne. La preuve :

Mon souci est le suivant : j'ai une barre de navigation contenue en externe
dans un fichier Php (barnav.php) et qui appelé dans les pages de mon site
par un "include" simple. Ben non, pas pour mour moi !
Car s'il le menu s'affiche en effet très bien dans la homepage, c'est moins
évident sur les page secondaires. En fait, je peux voir que l'include s'est
bien effectué mais les images qui composent la barre de nav, elles, ne sont
pas là. Je ne comprends pas ce qui cloche c'est pourtant mon fichier
"barnav.php" qui récupère les images et il me semble que si ça marche pour
la homepage, ça devrait aussi marcher sur les niveaux secondaires Non ?

Plongé entre mon design, mon php et mon intégration html, J'ai dû rater un
épisode à un moment donné, mais je ne vois pas quoi.

Qlq'un aurait-il l'extrême bonté de m'éclairer ???

Merci de vos lumières

Bon PHP à vous

T.O.M.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Demosthene
Le #841308
par un "include"... simple. Ben non, pas pour mour moi !
Car s'il le menu s'affiche en effet très bien dans la homepage, c'est moins
évident sur les page secondaires. En fait, je peux voir que l'include s'est
bien effectué mais les images qui composent la barre de nav, elles, ne sont
pas là. Je ne comprends pas ce qui cloche... c'est pourtant mon fichier


bonsoir,

avez-vous fait attention au chemin ?
Si vos pages secondaires sont dans un répertoire, celà ne marchera pas

bon courage

Démosthène

Frederic Rouchouze
Le #841524
pas là. Je ne comprends pas ce qui cloche... c'est pourtant mon fichier
"barnav.php" qui récupère les images et il me semble que si ça marche pour
la homepage, ça devrait aussi marcher sur les niveaux secondaires... Non ?


Si tes "pages secondaires" ne sont pas dans le même répertoire que ta "page
principal", c'est normal. Le script PHP va probablement chercher les
fichiers images dans un répertoire avec un chemin relatif (par rapport au
répertoire de la page qui appelle le script).

Si tu veux que ça marche, il faut donc que tu stockes toutes tes pages dans
le même répertoire. Ou bien que tu modifies le script pour qu'il fonctionne
quand même, mais vu ton niveau en PHP ça va être dur ! ;-)

--
Frédéric Rouchouze
mailto:

dwojylac.nospam
Le #841307
Frederic Rouchouze
Si tu veux que ça marche, il faut donc que tu stockes toutes tes pages dans
le même répertoire. Ou bien que tu modifies le script pour qu'il fonctionne
quand même, mais vu ton niveau en PHP ça va être dur ! ;-)


Ou plus simplement que tu indiques l'url complète
(http://www.monsite.com/images/monimage.jpg) de tes images à la place de
l'url relative (images/monimage.jpg) ce qui ne t'obligeras pas a tout
modifier.

Tu peux envisager de définir dans une variable php l'url de ton site ou
du dossier images comme cela les modifications seront facilitées en cas
de transfert ou de changement.

--
Dominique
http://wojylac.free.fr

Demosthene
Le #841303

Tu peux envisager de définir dans une variable php l'url de ton site ou
du dossier images comme cela les modifications seront facilitées en cas
de transfert ou de changement.



Je ne vous conseille pas de faire des "includes" ou des "require" avec
une variable, : c'est la porte ouverte à des détournement de script sauf
à prendre beaucoup de précautions.

Démosthène

marc guillaume
Le #841301
Le Sun, 23 Oct 2005 19:07:47 +0000, Frederic Rouchouze a écrit :


Si tu veux que ça marche, il faut donc que tu stockes toutes tes pages dans
le même répertoire. Ou bien que tu modifies le script pour qu'il fonctionne
quand même, mais vu ton niveau en PHP ça va être dur ! ;-)


Il y a une solution très simple à défaut d'être très propre...

Au début de chaque script qui inclut la barre tu crées une variable
$niveau = "../" pour le premier dossier sous ta page principale, $niveau "../../" pour le suivant etc.

Et tu utilises cette variable pour chaque appel d'une image src=<?php echo
$niveau; ?>"lechemindetonimage" par exemple. Un peu goret mais ça
fonctionne à tous les coups.

John GALLET
Le #843707
Bonjour,


Je ne comprends pas ce qui cloche... c'est pourtant mon fichier
"barnav.php" qui récupère les images et il me semble que si ça marche pour
la homepage, ça devrait aussi marcher sur les niveaux secondaires... Non ?


Pas nécessairement.

Il faut bien comprendre, surtout dans le type d'utilisation ici présent,
qu'inclure/require('barnav.php'); c'est la *même chose* qu'un copié
collé du contenu du fichier à l'endroit où on le fait. Imaginons la
structure suivante (par rapport à http://.....com/)
/un.php
/images/toto.jpg
/sub/deux.php
/barnav.php

Si on veut référencer toto.jpg dans barnav.php en tant que IMG
SRC=images/toto.jpg ça marchera pour un.php mais pas pour deux.php (il
faudrait SRC=../images/toto.jpg

Plongé entre mon design, mon php et mon intégration html, J'ai dû rater un
épisode à un moment donné, mais je ne vois pas quoi.


Que le html soit généré par php ou non, ça reste du html, tout simplement.
a++;
JG

Publicité
Poster une réponse
Anonyme