Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Debutant Php... prise de tete.

6 réponses
Avatar
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.

6 réponses

Avatar
Frederic Rouchouze
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:

Avatar
Demosthene
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

Avatar
dwojylac.nospam
Frederic Rouchouze wrote:

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

Avatar
Demosthene

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

Avatar
marc guillaume
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.

Avatar
John GALLET
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