Chgt de background fonction de la page en php

Résolu/Fermé
hornetovore Messages postés 84 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 31 juillet 2017 - 19 juil. 2008 à 17:55
hornetovore Messages postés 84 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 31 juillet 2017 - 19 juil. 2008 à 21:21
Bonjour,

Ma question: Est-il possible et si oui, comment de faire changer le background selon l'appel de telle ou telle page?
En plus précis, j'ai un tableau, avec un lien menant vers une categorie rock, un autre vers une autre categorie etc, je cherche à faire en sorte que mon background se modifie selon le type de categorie. Je suis débutant et demande donc de l'indulgence au cas où ça soit on ne peut plus simple ou tout bêtement impossible.
Si ça peut aider, j'ai mon squelette qui ressemble à ça:

<div id="entete">
<?php include('header.php'); ?>
</div>

<div id="ColonneGauche">
<?php include('menu1.htm'); ?>
</div>

<div id="ColonneDroite">
<?php

if ( file_exists($_GET['menu'].'.htm')) {
include($_GET['menu'].'.htm');
}

?>
</div>

<div id="lecteur">
<?php

if ( file_exists($_GET['page'].'.php')) {
include($_GET['page'].'.php'); // Nous appelons le contenu central de la page
}

?>
</div>

<div id="footer">
<?php include('footer.php'); ?>
</div>


avec l'header:

<html>
<head>
<title>..:: Play what you want ::..</title>
<link rel="stylesheet" type="text/css" href="../../css/mp3.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="SHORTCUT ICON" href="http://www.hornetovore.fr/images/smile.ico">
<script language="javascript" type="text/javascript" src=""></script>

</head>
<body id="body-punk">

Mon menu:

<table class="table-menu">
<tr>
<td><a href="index.php?menu=../punk" title="Punk Rock"><img src="../../images/punk.jpg" alt="Punk Rock" width="200"></a></td>
</tr>
<tr>
<td><a href="index.php?menu=../calme" title="Calme"><img src="../../images/calme.jpg" alt="Calme" width="200"></a></td>
</tr>
<tr>
<td><a href="index.php?menu=../cool" title="Cool"><img src="../../images/cool.jpg" alt="Cool" width="200"></a></td>
</tr>
<tr>
<td><a href="index.php?menu=../tech" title="Trance Tech..."><img src="../../images/trance.jpg" alt="Trance tech..." width="200"></a></td>
</tr>
<tr>
<td><a href="index.php?menu=../divers" title="Divers..."><img src="../../images/divers.jpg" alt="Divers..." width="200"></a></td>
</tr>
</table>

et la partie concernée de ma feuille de style:

#body-punk {
background: #ffffff url('../../.html/images/fond/fond3.jpg');
background-position: left center;
background-repeat: no-repeat;
}


Je pense qu'il va me falloir jouer avec un je ne sais quoi sur la balise body dans mon header et configurer chaque "type" de background dans mon css mais comment?

Merci d'avance ;)

3 réponses

dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
19 juil. 2008 à 18:33
sinon tu peux mettre:
directement dans ta page principal
<?
if(isset($_GET['page']))
{
switch ($_GET['page']) {
case "tel_page":
$backGround="chemin de ton background";
break;
case "autre_page":
$backGround="chemin de autre background";
break;
}
}
else
{
$backGround="chemin de background par defaut";
}

?>

<html>
<head>
<style>
#body-punk {
background: #ffffff url('<?=$backGround?>');
background-position: left center;
background-repeat: no-repeat;
}
</style>
</head>
-1
hornetovore Messages postés 84 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 31 juillet 2017 6
19 juil. 2008 à 19:05
alors j'ai essayer d'adapter à moi en faisant ça dans mon header:

<?
if(isset($_GET['page']))
{
switch ($_GET['page']) {
case "punk":
$backGround="../../../.html/images/fond/fond3.jpg";
break;
case "calme":
$backGround="chemin de autre background"; //pas encore rempli cette partie
break;
}
}
else
{
$backGround="../../../.html/images/fond/fond3.jpg";
}

?>


<html>
<head>
<title>..:: Play what you want ::..</title>
<link rel="stylesheet" type="text/css" href="../../css/mp3.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="SHORTCUT ICON" href="http://www.hornetovore.fr/images/smile.ico">
<!--<script language="javascript" type="text/javascript" src=""></script>-->

</head>
<body id="body-zik">

et la modif concernant le body dans la feuille css :

#body-zik {
background: #ffffff url('<?=$backGround?>');
background-position: left center;
background-repeat: no-repeat;
}

Mais ça ne fonctionne pas, j'ai commis une erreur mais où?

-déjà est-ce que je peux mettre la partie dans la feuille css ou je dois absolument la mettre dans ma page?
- ensuite, cette partie :
if(isset($_GET['page']))
{
switch ($_GET['page']) {

parle d'une 'page', est ce que ça a un rapport avec la page appellée? si oui, ne faut il mieux pas que je mette 'menu' en lieu et place vu que je veux un changement de background lors de l'action d'un lien de style a href="index.php?menu=../../punk ?
- dernièrement, vu que je n'appelle pas une page incluse dans le même repertoire (../../punk), dois je mettre $_GET['page'] quand même ou plutôt un $_GET['../../page'] ( donc $_GET['../../punk'] pour la page punk ) ???
-1
hornetovore Messages postés 84 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 31 juillet 2017 6
19 juil. 2008 à 18:36
Salut, je vais tester ça, merci de l'info.
-1
dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
19 juil. 2008 à 19:12
il faut mettre le css dans la page sinon <?=$backGround?> n'est pas interpreté.

et oui moi j'ai mis 'page' mais toi ta variable s'appelle 'menu' donc faut que tu mettre menu oui dsl.

par contre pour les case si ta variable menu="../../menu",
pense bien a mettre
case "../../menu" et pas case "menu
-1
hornetovore Messages postés 84 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 31 juillet 2017 6
19 juil. 2008 à 21:21
Ouaiii, ça marche nikel, t'est un boss, merci à toi, je me doutai que c'était possible vu les possibilités du css mais clair que je n'y serait pas arrivé sans toi.
J'ai encore deux trois trucs qui ne fonctionnent pas mais je vais faire un post par soucis, si tu traine dans le coin ;)
-1