Changer CSS grace à un menu déroulant
Résolu
Aresledieu
Messages postés
36
Statut
Membre
-
lookman1 Messages postés 21 Statut Membre -
lookman1 Messages postés 21 Statut Membre -
Bonjour à tous !
Je recontre un tit souci pour modifier le css de ma plage avec un menu déroulant.
J'ai récupéré ce formulaire hier, qui me modifie bien le css de la page, mais une fois que je clique sur une autre url ou que je réactualise la plage, je retrouve le css par défaut.
Si qq a une idée pour m'aider à résoudre ce problème ça serait sympa !
Merci.
Voici le code que j'utilise :
Je recontre un tit souci pour modifier le css de ma plage avec un menu déroulant.
J'ai récupéré ce formulaire hier, qui me modifie bien le css de la page, mais une fois que je clique sur une autre url ou que je réactualise la plage, je retrouve le css par défaut.
Si qq a une idée pour m'aider à résoudre ce problème ça serait sympa !
Merci.
Voici le code que j'utilise :
<?php if (isset($_GET['habillage']))// verifie que $_get existe { echo '<link rel="stylesheet" media="all" type="text/css" href="css/'.$_GET['choix'].'.css" />';// si oui placer la valeur de $_get dans la partie variable de la chaine de déclaration de style } else{ // si $_get n'existe pas (premier chargement de la page) valeur par défaut. ?> <link rel="stylesheet" media="all" type="text/css" href="css/rouge.css" /> <?php } ?> </head> <body> <div id="conteneur"> <form method="get" action="index.php"><!-- recharge la même page --> <fieldset> <legend> Choix habillage </legend> <p> <select name="choix"> <option value="rouge">rouge</option> <option value="noir">vert</option> <option value="jaune">jaune</option> </select> <input type="hidden" name="habillage" /> <input type="submit" value="Ok" /> </fieldset> </form>
A voir également:
- Changer CSS grace à un menu déroulant
- Changer dns - Guide
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Changer carte graphique - Guide
8 réponses
Un peu dans la même lignée que Alain_42 tu peux faire :
Sur la page index (la première ou tu choisi ton style)
Et sur toutes les autres pages :
Sur la page index (la première ou tu choisi ton style)
<html> <head> <?php session_start() $_SESSION['style'] if (isset($_GET['choix'])) { $_SESSION['style']=$_GET['choix']; echo '<link rel="stylesheet" media="all" type="text/css" href="css/'.$_SESSION['style'].'.css" />'; } else{ echo'<link rel="stylesheet" media="all" type="text/css" href="css/rouge.css" />'; } ?>
Et sur toutes les autres pages :
<html> <head> <?php session_start() if (isset($_SESSION['style'])) { echo '<link rel="stylesheet" media="all" type="text/css" href="css/'.$_SESSION['style'].'.css" />'; } else{ echo'<link rel="stylesheet" media="all" type="text/css" href="css/rouge.css" />'; } ?>
Salut,
Tu devrais essayer de passer par les variables de session.
Sans trop y avoir réfléchi, il me semble qu'un truc du genre
session_start()
$_SESSION['style']
puis avec le choix dans ton menu déroulant tu affectes une valeur à la variable de session style :
$_SESSION['style']=$_GET['choix']
puis sur chaque page tu démarre la session
et :
echo '<link rel="stylesheet" media="all" type="text/css" href="css/'.$_SESSION['style'].'.css" />';
Tu devrais essayer de passer par les variables de session.
Sans trop y avoir réfléchi, il me semble qu'un truc du genre
session_start()
$_SESSION['style']
puis avec le choix dans ton menu déroulant tu affectes une valeur à la variable de session style :
$_SESSION['style']=$_GET['choix']
puis sur chaque page tu démarre la session
et :
echo '<link rel="stylesheet" media="all" type="text/css" href="css/'.$_SESSION['style'].'.css" />';
Merci de ton aide.
J'ai essayé mais j'ai tjs le même pb, car dans l'url du fichier, après avoir choisi le css, j'ai "index.php?choix=noir&habillage=" et dès que je clique sur "index.php", le reste "choix=noir&habillage=" disparait et donc le css revient par défaut...
Mystère...
J'ai pas trouvé où je pouvais le mettre "$_SESSION['style']=$_GET['choix'] " tu peux m'éclairer ?
Merci.
J'ai essayé mais j'ai tjs le même pb, car dans l'url du fichier, après avoir choisi le css, j'ai "index.php?choix=noir&habillage=" et dès que je clique sur "index.php", le reste "choix=noir&habillage=" disparait et donc le css revient par défaut...
Mystère...
J'ai pas trouvé où je pouvais le mettre "$_SESSION['style']=$_GET['choix'] " tu peux m'éclairer ?
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
et comme ça:
<?php session_start(); if (isset($_GET['choix']))// verifie que $_get existe { $_SESSION['habillage']=$_GET['choix']; echo '<link rel="stylesheet" media="all" type="text/css" href="css/'.$_GET['choix'].'.css" />';// si oui placer la valeur de $_get dans la partie variable de la chaine de déclaration de style } elseif(isset($_SESSION['habillage'])){ echo '<link rel="stylesheet" media="all" type="text/css" href="css/'.$_SESSION['habillage'].'.css" />'; } else{ // si $_get n'existe pas (premier chargement de la page) valeur par défaut. ?> <link rel="stylesheet" media="all" type="text/css" href="css/rouge.css" /> <?php } ?>
oui apparemment,ça devrait marcher.dans les 2 premiers cas,il s'agit toujours de $_SESSION['habillage'] car tu as dit que $_SESSION['habillage']=$_GET['choix'];
Merci à tous de votre aide.
La page change bien de couleur, pas de souci, mais le pb (à ce que j'en pense) provient de l'url qui contient le fichier css.
A moins d'avoir l'idée divine, je ne voix pas comment conserver le "choix=noir&habillage=".
Je vais me mettre aux cookies, j'aurai surement plus de réussité... wait & see...
La page change bien de couleur, pas de souci, mais le pb (à ce que j'en pense) provient de l'url qui contient le fichier css.
A moins d'avoir l'idée divine, je ne voix pas comment conserver le "choix=noir&habillage=".
Je vais me mettre aux cookies, j'aurai surement plus de réussité... wait & see...
Avant tout code html.
Sinon, on se retrouve avec un message de ce genre:
Désolé, ça fait longtemps que je n'ai pas utilisé les variables de session
Très juste, très juste !!