28172 sujets

CSS et mise en forme, CSS3

Bonjour Smiley smile ,

Voici mon problème :
j'aimerais pouvoir choisir la couleur de fond d'une div depuis un formulaire, j'arrive bien à réccupérer la valeur de la variable et à l'afficher dans la page mais comment transmettre cette valeur au css ? (en remplaçant form action="test.php" par form action="style.php" cela m'affiche juste le contenu du css).

J'ai donc une page principale "test.php" et le style css "style.php".

Voici le code de la page test.php :


<html>
<head>
<title>test</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.php">
</head>

<body>

<div id="formulaire">
<form action="test.php" method="post">
    <select name="couleurFond">
        <option selected="selected">none</option>
        <option value="#ff0000">rouge</option>
        <option value="#00ff00">vert</option>
        <option value="#0000ff">bleu</option>
    </select>   
    <input type="submit" value="Ok" /> 
</form>
</div>


<?php 
	echo '<p>'.$_POST["couleurFond"].'</p>';
?>


</body>
</html>


et le code de la page style.php :


<?php header("Content-type: text/css"); ?>


#formulaire{
    width: 700px;
    height: 500px;
    border: 2px solid;
    background-color: <?php echo $_POST["couleurFond"]; ?>;
}


J'espère avoir posté dans la bonne catégorie Smiley confused

Pouvez-vous m'aider ?

Un grand merci d'avance
Modifié par opus32 (06 May 2010 - 15:37)
Alors ... Pour changer la couleur de la <div> passes plutot par un petit appel javascript.
$('#formulaire').css({backgroundColor:$('#couleurFond').val()})

(syntaxr jQuery avec un id a ton <select>

Ensuite tu pourras utiliser php pour stocker ce changement quelque part... cookie, session, css dynamique...
Modifié par spiral123 (06 May 2010 - 15:45)
Waw, je suis épaté de la rapidité de ta réponse Smiley eek merci.

Par contre je n'y connais rien au javascript, sinon le cookie me semble en effet une bonne idée mais je ne sais pas comment l'implémenter, j'ai tenté ceci (sans javascript par contre) mais cela ne fonctionne pas :

test.php :


<html>
<head>

<title>test</title>

<link rel="stylesheet" type="text/css" media="screen" href="style.php">

</head>

<body>

<div id="formulaire">

<form action="test.php" method="post">

    <select name="couleur_Fond">
        <option selected="selected">none</option>

        <option value="#ff0000">rouge</option>
        <option value="#00ff00">vert</option>
        <option value="#0000ff">bleu</option>
    </select>   

	<input type="submit" value="Ok" /> 
 
</form>

</div>

<?php 
	if (isset($_POST['couleur_Fond']))
    {
    	$temps = 3600;
    	setcookie  ('couleurFond', $_POST['couleur_Fond'], time() + $temps); 
	}  
?>

<?php 
	echo '<p>'.$_POST['couleur_Fond'].'</p>';
    echo '<p>'.$_COOKIE['couleurFond'].'</p>';
?>

</body>
</html>


style.php :


<?php header("Content-type: text/css"); ?>

#formulaire{
	width: 700px;
    height: 500px;
    border: 2px solid;
	background-color: 
	

	<?php 
	
	if (isset($_COOKIE['couleurFond']))
	{ 
    	echo $_COOKIE['couleurFond'];  
	}  
	else { 
		echo '#ffffcc';
    }
	
    ?>;

}


Oups pas taper stp Smiley sweatdrop