Menu

Comment inclure une variable session dans une page CSS [Résolu]

clé de 12 81 Messages postés samedi 19 juin 2010Date d'inscription 9 septembre 2017 Dernière intervention - 13 juin 2017 à 17:26 - Dernière réponse : clé de 12 81 Messages postés samedi 19 juin 2010Date d'inscription 9 septembre 2017 Dernière intervention
- 15 juin 2017 à 20:36
Bonjour,
Lorsque on arrive sur ma page index, je récupère les dimensions de l'écran pour en faire des variables session... Ça me permet de faire des tableaux à mes dimensions.
Impossible, à mon niveau de connaissance, d'inclure ces valeurs dans du css.
Pourtant, j'aimerai arriver à faire un truc très dur:
dans mon CSS décrivant le menu, j'aimerai créer un truc style j'ai 4 onglets, chaque onglet aura une largeur de 25% ou 100%/4... Je n'aurai qu'à modifier le nombre d'onglets pour que leurs largeurs <ul><li> etc.. varient automatiquement... Est ce possible?
Si oui, est ce possible de mettre dans mon CSS la valeur $_SESSION['Largeur'] comme élément de calcul pour définir des tables, des colonnes, etc.. par exemple
Merci pour vos remarques


Afficher la suite 

Votre réponse

7 réponses

Kuartz 849 Messages postés vendredi 13 février 2015Date d'inscription 30 janvier 2018 Dernière intervention - 13 juin 2017 à 18:09
0
Merci
Bonjour,

Oui c'est possible. A condition du coup d'avoir ouvert la session au début de la feuille CSS.

Et ensuite :

width:<?php echo $_SESSION['Largeur']; ?>px;


Par contre ça reste vraiment spécial de passer par une variable de session pour ça. Mais bon, ça peut fonctionner.

Cordialement.
le père. 6058 Messages postés mardi 15 mai 2012Date d'inscription 24 mai 2018 Dernière intervention > clé de 12 81 Messages postés samedi 19 juin 2010Date d'inscription 9 septembre 2017 Dernière intervention - 14 juin 2017 à 11:21
Effectivement, ça peut marcher comme ça. Mais il ne faut pas oublier de mettre :
<?php header("Content-Type: text/css"); ?>

au début de ton fichier css (avec le nom en .php) pour bien indiquer que le fichier doit être compris comme du css, sinon le serveur va l'envoyer comme du "text/html".
clé de 12 81 Messages postés samedi 19 juin 2010Date d'inscription 9 septembre 2017 Dernière intervention > le père. 6058 Messages postés mardi 15 mai 2012Date d'inscription 24 mai 2018 Dernière intervention - 14 juin 2017 à 22:44
Bonjour le père,
constant dans la qualité et la pertinence des réponses!
J'ai mis en 1ere lignes de ma feuille styles.php :
<?php session_start(); /*merci Kuartz */
header("Content-Type: text/css");
$Hauteur= $_SESSION['hauteur'];
$Largeur= $_SESSION['largeur'];
?>
et dans mon entete html <head> :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="./css/styles.php" media="all" type="text/css" />
<style type="text/css">
@import "./css/menu.php";
</style>
Et tout marche nickel... ma variable session est bien interprétée. Tout le reste va couler de source.
clé de 12 81 Messages postés samedi 19 juin 2010Date d'inscription 9 septembre 2017 Dernière intervention > clé de 12 81 Messages postés samedi 19 juin 2010Date d'inscription 9 septembre 2017 Dernière intervention - 15 juin 2017 à 08:32
Kuartz 849 Messages postés vendredi 13 février 2015Date d'inscription 30 janvier 2018 Dernière intervention > clé de 12 81 Messages postés samedi 19 juin 2010Date d'inscription 9 septembre 2017 Dernière intervention - 15 juin 2017 à 18:11
Alors là franchement, j'utiliserais personnellement du Javascript. Surtout pour un truc événementiel comme celui-ci. En plus, tu peux directement coder le nombre aléatoire en javascript également et changer la propriété css de ton choix en fonction du résultat. Du coup ici, pour moi oublie le PHP.

Tu peux écrire par exemple :

<script type=text/javascript>

var nb = Math.floor(Math.random() * 51);

if (nb == 1)
{
     $('body').css("background-image", "url")
}
else if..

</script>
clé de 12 81 Messages postés samedi 19 juin 2010Date d'inscription 9 septembre 2017 Dernière intervention > Kuartz 849 Messages postés vendredi 13 février 2015Date d'inscription 30 janvier 2018 Dernière intervention - 15 juin 2017 à 20:36
Pitié!!!
J'ai bientôt 70 ans et je ne connais pas encore le javascript. J'ai eu envie d'essayer mais c'était plus par curiosité que par nécessité. J'ai un peu de paresse d'apprendre le JS si le php comble mes besoins....mais je m'y mettrai un jour si ..... car je crois que le JS est bien pour les objets.
Pour l'instant, un select case me permettra de faire avancer mon projet....
Merci quand même pour ton aide
Commenter la réponse de Kuartz