Page 1 sur 1
Changement image dans header
Posté : 11 avr. 2011, 15:35
par Luberon
Bonjour,
Je désire changer l'image du header en fonction de la page
Ds le header j'ai mis pour l'image :
src="images/<?php echo $image; ?>.jpg"
et dans la page j'ai mis avant le code html
<?php
include('header.php');
$image='mon_image';
?>
mais il ne prend pas ma variable $image
merci pour votre aide
Re: Changement image dans header
Posté : 11 avr. 2011, 15:43
par macgawel
Bonjour.
include(fichier.php) revient (à peu de choses près) à faire un copier-coller de
fichier.php.
Du coup,
<?php
include('header.php');
$image='mon_image';
?>
Revient à peu près à :
<?php
src="images/<?php echo $image; ?>.jpg"
$image='mon_image';
?>
tu ne vois pas le problème ?

Re: Changement image dans header
Posté : 11 avr. 2011, 15:49
par Luberon
Non, je vois pas tout à fait
ds la page, tu mets
<?php
include('header.php');
$image='mon_image';
?>
ça ok
ds le header, tu mets
<?php
src="images/<?php echo $image; ?>.jpg"
$image='mon_image';
?>
.....
code html
...
src="images/<?php echo $image; ?>.jpg"
c'est cela ?
j'ai bien compris ,
Re: Changement image dans header
Posté : 11 avr. 2011, 15:53
par telnes
hello
tu demande a php de faire unb echo d'une variable qui est définie après
++
Re: Changement image dans header
Posté : 11 avr. 2011, 16:09
par Luberon
ok, en effet
ben je vois pas comment
Re: Changement image dans header
Posté : 11 avr. 2011, 16:16
par telnes
hello
une bonne pratique consiste a faire la partie php avant la partie "html"
<?php
// ici le code php
$image='mon_image';
// ici la partie affichage
src="images/<?php echo $image; ?>.jpg"
?>
++
Re: Changement image dans header
Posté : 11 avr. 2011, 16:25
par Luberon
ça ok
une bonne pratique consiste a faire la partie php avant la partie "html"
Le problème c'est que le header est séparé de la page
j'ai bien essayé
avant le HTML du header
<?php
if(PAGE == 'accueil') echo '$image1';
if(PAGE == 'page2') echo '$image2';
....
?>
et dans la page d'accueil avant le html
<?php
include('header.php');
define("PAGE","accueil");
$image1='mon_image1';
?>
Mais ds le code html du header, je vois pas comment appeler l'image
src="images/<?php echo $image; ?>.jpg"
Re: Changement image dans header
Posté : 11 avr. 2011, 16:28
par macgawel
c'est cela ?
Non.
quand dans ta page tu mets
<?php
include('header.php');
$image='mon_image';
?>
Quand php lit et interprète ton script, il voit un include => il va chercher le contenu de header.php et le colle à la place de l'include.
Au final, ta page revient à ça :
<?php
// ... Le début du fichier header
src="images/<?php echo $image; ?>.jpg" // la ligne du header qui te pose problème
// ... La fin du fichier header
$image='mon_image';
?>
Comme le dit telnes, tu fais ton
echo $image avant de donner une valeur à
$image. Forcément, ça ne fonctionne pas...
Il faut faire l'inverse :
Donner une valeur à
$image, puis faire le
echo.
PS : ce serait bien d'utiliser les balises qui vont bien pour ton code (bouton PHP)

Re: Changement image dans header
Posté : 11 avr. 2011, 17:16
par Luberon
j'ai beau essayé ... marche pas
Re: Changement image dans header
Posté : 11 avr. 2011, 17:54
par Luberon
J'ai trouvé messieurs
Ds le header, avant le code html
Code : Tout sélectionner
<?php
if(PAGE == 'accueil'); $image='mon-image1';
if(PAGE == 'page2'); $image='mon-image2';
.... ajouter des pages ....
?>
dans le header, ds le code html, pour l'appel de l'image
Dans la page (exemple pour index), avant le code html
Code : Tout sélectionner
<?php
$title='le titre';
$metaDescription='la description';
include('header.php');
define("PAGE","accueil");
?>
Merci de m'avoir boosté !
Re: Changement image dans header
Posté : 12 avr. 2011, 10:53
par macgawel
Et ça marche ?
non, parce que là tu fais toujours la même erreur : tu utilises une variable avant de lui donner une valeur...
Re: Changement image dans header
Posté : 12 avr. 2011, 11:09
par Luberon
Bonjour,
effectivement, avec mon code, l'image restait bloquée sur 'mon-image2'
j'ai utilisé la fonction switch pour finir (
c'est un ami qui me l'a suggéré ! ... ne croyez pas) :
Code : Tout sélectionner
<?php
switch (PAGE)
{
case 'page1' : $image='mon-image1'; break;
case 'page2' : $image='mon-image2'; break;
default : $image='mon-image1';
};
?>
et puis cela ne fonctionnait toujours pas avant de m'apercevoir (dès fois c'est bête !) que ds les pages je faisais appel au header avant de définir la page, en corrigeant, cela fonctionne !
Code : Tout sélectionner
<?php
$title='.....';
$metaDescription='.............';
define("PAGE","page1");
include('header.php');
?>
Voilà, pour vous évitez une nuit blanche
