Permettre à l'utilisateur de modifier le css
- Accueil
- Forum
- Programmation
- PHP
- Permettre à l'utilisateur de modifier le css
Blast0Kd Le 6 juin 2016 à 21:32 (Édité le 25 janvier 2019 à 17:51)
Alors j'ai un site web, super comme info bref, ma demande serait de savoir si l’utilisateur peut éditer le fichier css sur un point en particuler, en l'occurence sur mon site ce sera uniquement la couleur. Mon site comporte des couleur un peu comme sur pimfx.com, mais quand on sera sur notre profil, au lieu d'avoir la couleur bleu, on propose à l'utilisateur de modifier la couleur du fichier css.
J'espère avoir été asser claire, sinon n'hésitez pas à me poser des questions ;)
Ranarxhag Le 6 juin 2016 à 22:50 (Édité le 1 janvier 1970 à 01:00)
Pour la couleur, l'utilisateur aurait un panel de couleurs illimitées (genre il rentre le code couleur dans un champ et hop ça s'enregistre) ou il choisirait parmi certaines couleurs que tu proposes ? 😀
Blast0Kd Le 6 juin 2016 à 22:54 (Édité le 1 janvier 1970 à 01:00)
Ranarxhag Le 7 juin 2016 à 19:11 (Édité le 7 juin 2016 à 19:12)
Au début, je pensais tout t'expliquer mais au final, j'ai trouvé ce lien qui explique tout très bien ! Si tu as des questions, n'hésite pas.
http://www.alsacreations.com/astuce/lire/1433-utiliser-php-pour-gerer-vos-styles-css.html
Pour ton cas et en te basant sur le lien ci-dessus, je pense qu'il serait judicieux de créer une colonne dans ta table membre nommée "color" avec la couleur par défaut de ton site par exemple.
Ensuite, lors de la connexion du membre, tu crées une variable de session $_SESSION['color'] contenant le code hexadécimal.
Ensuite dans ton fichier style.php (que tu ne chargeras que sur la page de profil), à chaque endroit où la couleur doit être modifiée, tu fais un petit
<?php echo $_SESSION['color']; ?>
<!-- Par exemple :
p
{
color: <?php echo $_SESSION['color']; ?>
}
-->
Et normalement, tout devrait être bon. Par contre, j'insiste bien sur le fait qu'il ne faut charger le fichier QUE sur la page de profil pour éviter de provoquer des erreurs sur les autres pages 😉
J'espère avoit été clair sinon hésite pas à poser des questions 😀
Ranarxhag
Blast0Kd Le 7 juin 2016 à 20:06 (Édité le 1 janvier 1970 à 01:00)
Blast0Kd Le 7 juin 2016 à 21:24 (Édité le 1 janvier 1970 à 01:00)
Le test manuel fonctionne, c'est à dire que quand je modifie la valeur de la couleur dans ma table, elle change la couleur du profil, ais lorsque j'essaie avec une requete update, ça n'update rin du tout
voici la requete :
if(isset($_POST['color'])) {
$newcolor = htmlspecialchars($_POST['color']);
$insertcolor = $bdd->prepare("UPDATE membres SET color = ? WHERE id = ?");
$insertcolor->execute(array($newcolor, $_SESSION['id']));
header('Location: profil.php?id='.$_SESSION['id']);
}
Et voici pour modifier le css :
<?php
if($userinfo['color'] == 'blue'){
?>
<link rel="stylesheet" href="../css/style.css">
<?php
} else if($userinfo['color'] == 'red'){
?>
<link rel="stylesheet" href="css/red.css">
<?php
} else if($userinfo['color'] == 'yellow'){
?>
<link rel="stylesheet" href="css/yellow.css">
<?php
} else if($userinfo['color'] == 'green'){
?>
<link rel="stylesheet" href="css/green.css">
<?php
} else if($userinfo['color'] == 'pink'){
?>
<link rel="stylesheet" href="css/pink.css">
<?php
} else {
?>
<link rel="stylesheet" href="../css/style.css">
<?php
}
?>
Blast0Kd Le 7 juin 2016 à 21:30 (Édité le 1 janvier 1970 à 01:00)
SlappySlap Le 7 juin 2016 à 22:55 (Édité le 1 janvier 1970 à 01:00)