28172 sujets

CSS et mise en forme, CSS3

Bonjour,
Après des heures de recherche infructueuse, je viens vers vous pour une petite aide.
Voilà je cherche à superposer plusieurs dizaines d'images (tous très léger sauf la dernière).
Jusque là aucun soucis sauf que je dois faire en sorte de pouvoir changer les images via un panneau d'administration.
Là encore pas de problème...
Je récupère sans aucun problème les variables et j'ai essayé de faire comme indiqué sur le net pour intégrer du PHP dans mon CSS pour pouvoir changer le lien des images.

Maintenant je ne sais pas pourquoi mais il ne veut pas charger les images... Je pense que c'est parce que les variables ne sont pas définit dans le "head" du CSS. Cependant si c'est cela, je ne sais pas comment récupérer les valeurs des variables contenues dans le fichier .php ...

Bon je vous montre le code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
		<title> Les Routes a risque en Champagne </title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design4.php" />
    </head>
    <body>
		<?php
			$superposition1 = "superposition/dangerClermontCompiegne.gif";
			$superposition2 = "superposition/transparent.gif";
			$superposition3 = "superposition/transparent.gif";
			$superposition4 = "superposition/transparent.gif";
			$superposition5 = "superposition/transparent.gif";
			$superposition6 = "superposition/transparent.gif";
			$superposition7 = "superposition/transparent.gif";
			$superposition8 = "superposition/transparent.gif";
			$superposition9 = "superposition/transparent.gif";
			if($_POST['argonneReims']){
				$superposition1 = "superposition/dangerArgonneReims.gif";
			}
			if($_POST['clermontCompiegne']){
				$superposition2 = "superposition/dangerClermontCompiegne.gif";
			}
			if($_POST['compiegneStMenehould']){
				$superposition3 = "superposition/dangerCompiegneStMenehould.gif";
			}
			if($_POST['reimsStMenehould']){
				$superposition4 = "superposition/dangerReimsStMenehould.gif";
			}
			if($_POST['reimsVarennes']){
				$superposition5 = "superposition/dangerReimsVarennes.gif";
			}
			if($_POST['stMenehouldTroyes']){
				$superposition6 = "superposition/dangerStMenehouldTroyes.gif";
			}
			if($_POST['troyesConflans']){
				$superposition7 = "superposition/dangerTroyesConflans.gif";
			}
			if($_POST['troyesLangres']){
				$superposition8 = "superposition/dangerTroyesLangres.gif";
			}
			if($_POST['varennesCompiegne']){
				$superposition9 = "superposition/dangerVarennesCompiegne.gif";
			}
		?>
		<div class="carteRR">
			<div class="superpo1">
				<div class="superpo2">
					<div class="superpo3">
						<div class="superpo4">
							<div class="superpo5">
								<div class="superpo6">
									<div class="superpo7">
										<div class="superpo8">
											<img src=<?php echo $superposition1 ?> class="carteRR" />
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</body>
</html>




<?php header('content-type: text/css'); ?>



.superpo1{
background-image: url(<?php echo $superposition2 ?>);
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo2{
background-image: url(<?php echo $superposition3 ?>);
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo3{
background-image: url(<?php echo $superposition4 ?>);
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo4{
background-image: url(<?php echo $superposition5 ?>);
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo5{
background-image: url(<?php echo $superposition6 ?>);
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo6{
background-image: url(<?php echo $superposition7 ?>);
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo7{
background-image: url(<?php echo $superposition8 ?>);
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo8{
background-image: url(<?php echo $superposition9 ?>);
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.carteRR{
background-image: url("superposition/ChampagneRR.png");
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}



PS: si je met des liens au lieu des variables, cela marche très bien (la superposition), de plus le php echo marche bien car le seul echo contenu dans le fichier HTML,PHP fonctionne.

Merci d'avance
Modifié par pheonix (26 Jan 2011 - 22:46)
Bonjour,

A priori, je dirait que ta page ou est gérer le .css, n'a pas accès au contenu de tes variables $_POST[].

Les variables $_POST[] ne renvois la valeur qu'à une seule page, dans ton cas, la page avec le html, et non le .css.

Tu devrais utiliser les variable $_SESSION[], qui elles, sont accessibles à toutes les pages du sites web, tant qu'elles ne sont pas détruite, ou que le visiteurs ne quitte pas le site.

Voici un petit exercice que j'ai fait, j'étais curieux je n'avais jamais utiliser de .pho pour importer les .css

page1.php page du formulaire

<html>
<head>
	<title>Formulaire</title>
</head>
<body>
   <form name="tes" method="post" action="page2.php">
      <label for="cheminImage1">Chemin Image 1: </label>
      <input type="text" name="cheminImage1" />
      <label for="cheminImage1">Chemin Image 2: </label>
      <input type="text" name="cheminImage2" />
      <input type='submit' value='envoyer'>
   </form>
</body>
</html>


page2.php

<?php 
session_start();
$_SESSION["cheminImage1"] = $_POST["cheminImage1"];
$_SESSION["cheminImage2"] = $_POST["cheminImage2"];

echo '
<html>
<head>
   <title>Image</title>
   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="styleTest.php" />
	
</head>
<body>
	<div class="image1">A</div>
	<div class="image2">B</div>
</body>
</html>';

?>


et styleTest.php la page de feuille de style

<?php
session_start();
 echo '
 .image1 {background:url('.$_SESSION['cheminImage1'].') repeat-x; witdh:100%;}
 .image2 {background:url('.$_SESSION['cheminImage2'].') repeat-x; witdh:100%;}';
 ?>



N.B.: A noter ici que comme tes page sont en .php, tu devrais peut-être y inclure une boucle pour générer tes <div>


for(i=0;i<=nbMaxImageRepeter;$i++)
 echo '<div class="imgRepeter'.$i.'"></div>


A noter que session_start(); doit être indiquer au début des page .php pour utiliser les variables sessions.



Avec cet exemple cela devrai t'aider.
Modifié par Sylvain245 (26 Jan 2011 - 22:07)
Bonsoir,

Tu n'as pas utiliser le bon balisage de ton code pour l'afficher sur le forum. Ce n'est pas une "citation" mais tu code "php". Merci d'éditer ton post. Smiley cligne
Ensuite, tu n'es pas forcément dans le bon salon pour poster un problème sur du php.

J'ai quand même vite survoler ton code et une chose m'a sauté aux yeux, ou récupères tu tes variables dans ton fichier PHP générant ton CSS ??? Ca vient forcément de la. Smiley cligne

[Edit]@Sylvain245. Tu as été plus rapide que moi, le temps que je rédige le message tu as répondu ! Smiley cligne
Modifié par Spacedementia (26 Jan 2011 - 22:25)
Hum je n'y arrive toujours pas... Auriez vous la gentillesse de jeter un oeil à mon code... Je ne vois guère de différence avec l'exemple pourtant...
Je ferais la boucle quand j'aurais réglé ce problème... Là je trouve cela un peu plus clair meme si plus lourd^^!

<?php
session_start();
$_SESSION["cheminImage1"] = "superposition/transparent.gif";
$_SESSION["cheminImage2"] = "superposition/transparent.gif";
$_SESSION["cheminImage3"] = "superposition/transparent.gif";
$_SESSION["cheminImage4"] = "superposition/transparent.gif";
$_SESSION["cheminImage5"] = "superposition/transparent.gif";
$_SESSION["cheminImage6"] = "superposition/transparent.gif";
$_SESSION["cheminImage7"] = "superposition/transparent.gif";
$_SESSION["cheminImage8"] = "superposition/transparent.gif";
$_SESSION["cheminImage9"] = "superposition/transparent.gif";
if($_POST['argonneReims']){
$_SESSION["cheminImage1"] = "superposition/dangerArgonneReims.gif";
}
if($_POST['clermontCompiegne']){
$_SESSION["cheminImage2"] = "superposition/dangerClermontCompiegne.gif";
}
if($_POST['compiegneStMenehould']){
$_SESSION["cheminImage3"] = "superposition/dangerCompiegneStMenehould.gif";
}
if($_POST['reimsStMenehould']){
$_SESSION["cheminImage4"] = "superposition/dangerReimsStMenehould.gif";
}
if($_POST['reimsVarennes']){
$_SESSION["cheminImage5"] = "superposition/dangerReimsVarennes.gif";
}
if($_POST['stMenehouldTroyes']){
$_SESSION["cheminImage6"] = "superposition/dangerStMenehouldTroyes.gif";
}
if($_POST['troyesConflans']){
$_SESSION["cheminImage7"] = "superposition/dangerTroyesConflans.gif";
}
if($_POST['troyesLangres']){
$_SESSION["cheminImage8"] = "superposition/dangerTroyesLangres.gif";
}
if($_POST['varennesCompiegne']){
$_SESSION["cheminImage9"] = "superposition/dangerVarennesCompiegne.gif";
}
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title> Les Routes a risque en Champagne </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design4.php" />
</head>
<body>
<div class="carteRR">
<div class="superpo1">
<div class="superpo2">
<div class="superpo3">
<div class="superpo4">
<div class="superpo5">
<div class="superpo6">
<div class="superpo7">
<div class="superpo8">
<img src='.$_SESSION['cheminImage9'].' class="carteRR" >
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
';?>



<?php header('content-type: text/css');
session_start();
 echo '



.superpo1{
background-image: url('.$_SESSION['cheminImage1'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo2{
background-image: url('.$_SESSION['cheminImage2'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo3{
background-image: url('.$_SESSION['cheminImage3'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo4{
background-image: url('.$_SESSION['cheminImage4'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo5{
background-image: url('.$_SESSION['cheminImage5'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo6{
background-image: url('.$_SESSION['cheminImage6'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo7{
background-image: url('.$_SESSION['cheminImage7'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo8{
background-image: url('.$_SESSION['cheminImage8'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.carteRR{
background-image: url("superposition/ChampagneRR.png");
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

';?>



Désolé de vous embêter avec cela, je dois avouer être un peu dépassé là...
Modifié par pheonix (26 Jan 2011 - 23:20)
Hum je n'y arrive toujours pas... Auriez vous la gentillesse de jeter un oeil à mon code... Je ne vois guère de différence avec l'exemple pourtant...
Je ferais la boucle quand j'aurais réglé ce problème... Là je trouve cela un peu plus clair meme si plus lourd^^!


<?php
	session_start();
	$_SESSION["cheminImage1"] = "superposition/transparent.gif";
	$_SESSION["cheminImage2"] = "superposition/transparent.gif";
	$_SESSION["cheminImage3"] = "superposition/transparent.gif";
	$_SESSION["cheminImage4"] = "superposition/transparent.gif";
	$_SESSION["cheminImage5"] = "superposition/transparent.gif";
	$_SESSION["cheminImage6"] = "superposition/transparent.gif";
	$_SESSION["cheminImage7"] = "superposition/transparent.gif";
	$_SESSION["cheminImage8"] = "superposition/transparent.gif";
	$_SESSION["cheminImage9"] = "superposition/transparent.gif";
	if($_POST['argonneReims']){
		$_SESSION["cheminImage1"] = "superposition/dangerArgonneReims.gif";
	}
	if($_POST['clermontCompiegne']){
		$_SESSION["cheminImage2"] = "superposition/dangerClermontCompiegne.gif";
	}
	if($_POST['compiegneStMenehould']){
		$_SESSION["cheminImage3"] = "superposition/dangerCompiegneStMenehould.gif";
	}
	if($_POST['reimsStMenehould']){
		$_SESSION["cheminImage4"] = "superposition/dangerReimsStMenehould.gif";
	}
	if($_POST['reimsVarennes']){
		$_SESSION["cheminImage5"] = "superposition/dangerReimsVarennes.gif";
	}
	if($_POST['stMenehouldTroyes']){
		$_SESSION["cheminImage6"] = "superposition/dangerStMenehouldTroyes.gif";
	}
	if($_POST['troyesConflans']){
		$_SESSION["cheminImage7"] = "superposition/dangerTroyesConflans.gif";
	}
	if($_POST['troyesLangres']){
		$_SESSION["cheminImage8"] = "superposition/dangerTroyesLangres.gif";
	}
	if($_POST['varennesCompiegne']){
		$_SESSION["cheminImage9"] = "superposition/dangerVarennesCompiegne.gif";
	}
	echo '
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
	<head>
		<title> Les Routes a risque en Champagne </title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design4.php" />
	</head>
	<body>
		<div class="carteRR">
			<div class="superpo1">
				<div class="superpo2">
					<div class="superpo3">
						<div class="superpo4">
							<div class="superpo5">
								<div class="superpo6">
									<div class="superpo7">
										<div class="superpo8">
											<img src='.$_SESSION['cheminImage9'].' class="carteRR" >
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</body>
</html>
';?>




<?php header('content-type: text/css');
session_start();
 echo '



.superpo1{
background-image: url('.$_SESSION['cheminImage1'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo2{
background-image: url('.$_SESSION['cheminImage2'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo3{
background-image: url('.$_SESSION['cheminImage3'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo4{
background-image: url('.$_SESSION['cheminImage4'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo5{
background-image: url('.$_SESSION['cheminImage5'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo6{
background-image: url('.$_SESSION['cheminImage6'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo7{
background-image: url('.$_SESSION['cheminImage7'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo8{
background-image: url('.$_SESSION['cheminImage8'].');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.carteRR{
background-image: url("superposition/ChampagneRR.png");
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

';?>



Désolé de vous embêter avec cela, je dois avouer être un peu dépassé là...
Modifié par pheonix (26 Jan 2011 - 23:23)
Bon je ne sais pas pourquoi le code PHP ne veut pas s'afficher meme après 3 editions je recommence donc:

<?php
	session_start();
	$_SESSION["cheminImage1"] = "superposition/transparent.gif";
	$_SESSION["cheminImage2"] = "superposition/transparent.gif";
	$_SESSION["cheminImage3"] = "superposition/transparent.gif";
	$_SESSION["cheminImage4"] = "superposition/transparent.gif";
	$_SESSION["cheminImage5"] = "superposition/transparent.gif";
	$_SESSION["cheminImage6"] = "superposition/transparent.gif";
	$_SESSION["cheminImage7"] = "superposition/transparent.gif";
	$_SESSION["cheminImage8"] = "superposition/transparent.gif";
	$_SESSION["cheminImage9"] = "superposition/transparent.gif";
	if($_POST['argonneReims']){
		$_SESSION["cheminImage1"] = "superposition/dangerArgonneReims.gif";
	}
	if($_POST['clermontCompiegne']){
		$_SESSION["cheminImage2"] = "superposition/dangerClermontCompiegne.gif";
	}
	if($_POST['compiegneStMenehould']){
		$_SESSION["cheminImage3"] = "superposition/dangerCompiegneStMenehould.gif";
	}
	if($_POST['reimsStMenehould']){
		$_SESSION["cheminImage4"] = "superposition/dangerReimsStMenehould.gif";
	}
	if($_POST['reimsVarennes']){
		$_SESSION["cheminImage5"] = "superposition/dangerReimsVarennes.gif";
	}
	if($_POST['stMenehouldTroyes']){
		$_SESSION["cheminImage6"] = "superposition/dangerStMenehouldTroyes.gif";
	}
	if($_POST['troyesConflans']){
		$_SESSION["cheminImage7"] = "superposition/dangerTroyesConflans.gif";
	}
	if($_POST['troyesLangres']){
		$_SESSION["cheminImage8"] = "superposition/dangerTroyesLangres.gif";
	}
	if($_POST['varennesCompiegne']){
		$_SESSION["cheminImage9"] = "superposition/dangerVarennesCompiegne.gif";
	}
	echo '
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
	<head>
		<title> Les Routes a risque en Champagne </title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design4.php" />
	</head>
	<body>
		<div class="carteRR">
			<div class="superpo1">
				<div class="superpo2">
					<div class="superpo3">
						<div class="superpo4">
							<div class="superpo5">
								<div class="superpo6">
									<div class="superpo7">
										<div class="superpo8">
											<img src='.$_SESSION['cheminImage9'].' class="carteRR" >
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</body>
</html>
';?>
Bon pas moyen d'afficher le code et en plus je viens de me rendre compte que j'ai un gentil doublon... Sans compter les deux messages inutiles (je compte celui-ci dedans)

Si un modérateur pouvait arranger cela ça m'arrangerait...
En attendant, si l'un d'entre vous trouve la solution à mon problème je vous en serais très reconnaissant. Je dois avouer que vous êtes très compétent de vos domaines!
Tu as un bouton pour éditer un message, tu n'as pas besoin d'en recréer à chaque fois un nouveau. Tu dois choisir le type de code que tu veux afficher dans la liste déroulante lorsque tu édites ton message.

Tu devrais essayer d'améliorer et simplifier vraiment ton code php car dans l'état actuel c'est pas top top... Smiley cligne
Je pense que tu as des problèmes de "cotes" dans tes "echos" php. Essai déjà ce type de structure :


<?php
header('content-type: text/css'); 
session_start(); 
?>
.superpo1{ 
background-image: url('<?php echo $_SESSION['cheminImage1']; ?>'); 
position: relative; 
background-repeat: no-repeat; 
top: 0px; 
left: 0px; 
visibility: visible; 
}
...


Bizarre, je n'arrive pas non plus à mettre du code php en forme en mode "code php" sur le forum. Toutes les balises php n'apparaissent pas.
Modifié par Spacedementia (27 Jan 2011 - 00:07)
a écrit :

Là je trouve cela un peu plus clair meme si plus lourd^^


Il va être assez difficile de trouver du .php tout fait pour ton cas.

Je suis pas pro du .php mais dans mon exemple

1) header('content-type: text/css'); //ne sert a rien je pense;


background-image: url("superposition/ChampagneRR.png"); 


ici cela devrait être url(superposition/ChampagneRR.png);


$_SESSION["cheminImage1"] = "superposition/transparent.gif";
if($_POST['argonneReims']){
$_SESSION["cheminImage1"] = "superposition/dangerArgonneReims.gif";
}


pourquoi définir la variable $_SESSION["cheminImage1"] à une chaine ? cela devrai peut-être être plutot


if($_POST['argonneReims'])
{
$_SESSION["cheminImage1"] = $_POST['argonneReims'];
}




<?php header('content-type: text/css');  
session_start();  
?> 
.superpo1{  
background-image: url('<?php echo $_SESSION['cheminImage1']; ?>');  


en php, il serait plus convenable d'utiliser seulement une balise <?php lorsque possible comme c'est le cas ici.

Il est difficile également de vérifier ton formulaire d'administration sans code, ni lien.
Peut-être peut-tu m'envoyer ton code (fichier .php) via mon email (profil) et je pourrais y jeter un oeil si tu n'arrive pas à l'inscrire ici.

a écrit :


Bizarre, je n'arrive pas non plus à mettre du code php en forme en mode "code php" sur le forum. Toutes les balises php n'apparaissent pas.


étrange... moi jai juste utiliser le bouton code et cela a fonctionner
Modifié par Sylvain245 (27 Jan 2011 - 00:17)
Bon disons qu'avant d'écrire ce nouveau code j'avais quand meme pris le soin de l'essayé de la méthode que tu conseilles... qui n'a pas fonctionné! Je me suis donc résigné à faire exactement comme le code que tu m'as donné.
Je parle de ce type de codage en PHP:
<?php header('content-type: text/css');  

session_start();  

?> 

.superpo1{  

background-image: url('<?php echo $_SESSION['cheminImage1']; ?>');  



a écrit :
ici cela devrait être url(superposition/ChampagneRR.png);


J'en doute car c'est une des seule image qui daigne s'afficher... Tu ne pouvais pas le savoir!

a écrit :
pourquoi définir la variable $_SESSION["cheminImage1"] à une chaine ? cela devrai peut-être être plutot


Bon là encore c'est ma faute tu ne pouvais pas le savoir mais mon POST renvoie un true ou false (et ça marche car l'image contenu dans le lien: $_SESSION["cheminImage9"] est visible quand je renvoie le formulaire).
En fait mon formulaire est de type checkbox.

a écrit :
header('content-type: text/css'); //ne sert a rien je pense;

En fait quand je le retire, l'image de fond ne s'affiche plus...
J'en déduis donc que c'est necessaire ici...

a écrit :
Tu as un bouton pour éditer un message, tu n'as pas besoin d'en recréer à chaque fois un nouveau. Tu dois choisir le type de code que tu veux afficher dans la liste déroulante lorsque tu édites ton message.

Dieu soit loué, je sais quand même me servir d'un forum... Il y a parfois des bugs inexplicable... Et j'ai aussi compris comme on se sert de la liste déroulante... Là encore je l'avais fait et le message est apparu entier plus d'une demi-heure après... Libre à toi de continuer à me prendre pour le dernier des abrutis...
Ce n'est pas parce qu'à mon premier post je n'ai pas penser à utiliser une balise que je ne comprends rien aux forums... Il faut dire que je n'ai pas pour habitude de demander de l'aide!
Enfin comme dis un peu plus haut, avant de l'écrire sous cette forme là, je l'ai écris puis réécris (en prenant en compte les nouveaux conseils) sous la forme que tu donnes! Avant de me résigner à faire exactement comme l'exemple, toujours dans le but d'éliminer le problème!


J'ai toujours le même soucis à l'heure actuelle... Tout compile très bien, l'image de fond: "superposition/ChampagneRR.png" s'affiche très bien et cette commande:
if($_POST['varennesCompiegne']){ 
        $_SESSION["cheminImage9"] = "superposition/dangerVarennesCompiegne.gif"; 
    } 

s'execute très bien! Quand on regarde bien, la variable utilisé est la seule dans le fichier .php

Tout cela pour dire que la feuille de style n'arrive toujours pas à attraper les valeurs de ces variables... Là encore je ne vois que ça...

Le problème est de savoir pourquoi...

Je vais vous renvoyer le code complet... Avis aux amateurs, pros...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
		<title> Panneau Administration </title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design3.css" />
    </head>
	<body>
		<form method="post" action="carteChampagne.php">
			<p>
				Cochez les routes à risque :<br />
				<input type="checkbox" name="argonneReims" id="argonneReims" /> <label for="argonneReims">Argonne-Reims</label><br />
				<input type="checkbox" name="clermontCompiegne" id="clermontCompiegne" /> <label for="clermontCompiegne">Clermont-Compiegne</label><br />
				<input type="checkbox" name="compiegneStMenehould" id="compiegneStMenehould" /> <label for="compiegneStMenehould">Compiegne-StMenehould</label><br />
				<input type="checkbox" name="reimsStMenehould" id="reimsStMenehould" /> <label for="reimsStMenehould">Reims-StMenehould</label><br />
				<input type="checkbox" name="reimsVarennes" id="reimsVarennes" /> <label for="reimsVarennes">Reims-Varennes</label><br />
				<input type="checkbox" name="stMenehouldTroyes" id="stMenehouldTroyes" /> <label for="stMenehouldTroyes">StMenehould-Troyes</label><br />
				<input type="checkbox" name="troyesConflans" id="troyesConflans" /> <label for="troyesConflans">Troyes-Conflans</label><br />
				<input type="checkbox" name="troyesLangres" id="troyesLangres" /> <label for="troyesLangres">Troyes-Langres</label><br />
				<input type="checkbox" name="varennesCompiegne" id="varennesCompiegne" /> <label for="varennesCompiegne">Varennes-Compiegne</label><br />
				<input type="submit" value="Envoyer"/><br/>
			</p>
		</form>
	</body>
</html>


<?php
	session_start();
	$_SESSION["cheminImage1"] = "superposition/transparent.gif";
	$_SESSION["cheminImage2"] = "superposition/transparent.gif";
	$_SESSION["cheminImage3"] = "superposition/transparent.gif";
	$_SESSION["cheminImage4"] = "superposition/transparent.gif";
	$_SESSION["cheminImage5"] = "superposition/transparent.gif";
	$_SESSION["cheminImage6"] = "superposition/transparent.gif";
	$_SESSION["cheminImage7"] = "superposition/transparent.gif";
	$_SESSION["cheminImage8"] = "superposition/transparent.gif";
	$_SESSION["cheminImage9"] = "superposition/transparent.gif";
	if($_POST['argonneReims']){
		$_SESSION["cheminImage1"] = "superposition/dangerArgonneReims.gif";
	}
	if($_POST['clermontCompiegne']){
		$_SESSION["cheminImage2"] = "superposition/dangerClermontCompiegne.gif";
	}
	if($_POST['compiegneStMenehould']){
		$_SESSION["cheminImage3"] = "superposition/dangerCompiegneStMenehould.gif";
	}
	if($_POST['reimsStMenehould']){
		$_SESSION["cheminImage4"] = "superposition/dangerReimsStMenehould.gif";
	}
	if($_POST['reimsVarennes']){
		$_SESSION["cheminImage5"] = "superposition/dangerReimsVarennes.gif";
	}
	if($_POST['stMenehouldTroyes']){
		$_SESSION["cheminImage6"] = "superposition/dangerStMenehouldTroyes.gif";
	}
	if($_POST['troyesConflans']){
		$_SESSION["cheminImage7"] = "superposition/dangerTroyesConflans.gif";
	}
	if($_POST['troyesLangres']){
		$_SESSION["cheminImage8"] = "superposition/dangerTroyesLangres.gif";
	}
	if($_POST['varennesCompiegne']){
		$_SESSION["cheminImage9"] = "superposition/dangerVarennesCompiegne.gif";
	}
	
?>
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
	<head>
		<title> Les Routes a risque en Champagne </title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design4.php" />
	</head>
	<body>
		<div class="carteRR">
			<div class="superpo1">
				<div class="superpo2">
					<div class="superpo3">
						<div class="superpo4">
							<div class="superpo5">
								<div class="superpo6">
									<div class="superpo7">
										<div class="superpo8">
											<img src=<?php echo $_SESSION["cheminImage9"] ?> class="carteRR" >
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</body>
</html>



<?php header('content-type: text/css');
session_start();
 ?>



.superpo1{
background-image: url('<?php echo $_SESSION['cheminImage1'] ?>');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo2{
background-image: url('<?php echo $_SESSION['cheminImage2'] ?>');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo3{
background-image: url('<?php echo $_SESSION['cheminImage3'] ?>');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo4{
background-image: url('<?php echo $_SESSION['cheminImage4'] ?>');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo5{
background-image: url('<?php echo $_SESSION['cheminImage5'] ?>');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo6{
background-image: url('<?php echo $_SESSION['cheminImage6'] ?>');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo7{
background-image: url('<?php echo $_SESSION['cheminImage7'] ?>');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.superpo8{
background-image: url('<?php echo $_SESSION['cheminImage8'] ?>');
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}

.carteRR{
background-image: url("superposition/ChampagneRR.png");
position: relative;
background-repeat: no-repeat;
top: 0px;
left: 0px;
visibility: visible;
}



PS: cela ne marche pas non plus avec ou sans les guillemets dans l'URL:
url('<?php echo $_SESSION['cheminImage6'] ?>')

personnellement j'aurais plus tendance à ne pas les mettre car on les met déjà dans la variable un peu plus haut...

a écrit :

Il est difficile également de vérifier ton formulaire d'administration sans code, ni lien.
Peut-être peut-tu m'envoyer ton code (fichier .php) via mon email (profil) et je pourrais y jeter un oeil si tu n'arrive pas à l'inscrire ici.


Je me permet donc de te l'envoyer en plus par email.

Merci d'avance
Bonjour,

page de formulaire :

<input type="checkbox" name="image[]" id="argonneReims" value='1' /> <label for="argonneReims">Argonne-Reims</label><br />
<input type="checkbox" name="image[]" id="clermontCompiegne" value='2' /> <label for="clermontCompiegne">Clermont-Compiegne</label><br />
<input type="checkbox" name="image[]" id="compiegneStMenehould" value='3' /> <label for="compiegneStMenehould">Compiegne-StMenehould</label><br />
<input type="checkbox" name="image[]" id="reimsStMenehould" value='4' /> <label for="reimsStMenehould">Reims-StMenehould</label><br />
<input type="checkbox" name="image[]" id="reimsVarennes" value='5' /> <label for="reimsVarennes">Reims-Varennes</label><br />
<input type="checkbox" name="image[]" id="stMenehouldTroyes" value='6' /> <label for="stMenehouldTroyes">StMenehould-Troyes</label><br />
<input type="checkbox" name="image[]" id="troyesConflans" value='7' /> <label for="troyesConflans">Troyes-Conflans</label><br />
<input type="checkbox" name="image[]" id="troyesLangres" value='8' /> <label for="troyesLangres">Troyes-Langres</label><br />
<input type="checkbox" name="image[]" id="varennesCompiegne" value='9' /> <label for="varennesCompiegne">Varennes-Compiegne</label><br />


Ici évidemment, il faut remplacer le 1,2,3,... par le chemin d'accès de l'image sans le '.gif'

page carteChampagne.php

<?php 
session_start();
$_SESSION['image'] = $_POST['image'];
echo '
<html>
<head>
<title>Image</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design4.php" />
</head>
<body>
   <div class="imageFond"></div>';
   foreach($_SESSION['image'] as $key)
      echo '<div class="image'.$key.'"></div>';
	
   echo '
</body>
</html>';
?>


et la feuille de style design4.php si les dimensions sont les même pour tes images.

<?php
session_start();
echo '
.imageFond {background:url(imageFond.gif); width:300px; height:300px; position:absolute;}';
foreach($_SESSION['image'] as $key => $value)
   echo '.image'.$key.' {background:url('.$value.'.gif); position:absolute;}';
 ?>

Modifié par Sylvain245 (27 Jan 2011 - 08:56)