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 

7 réponses

Répondre au sujet
Kuartz 836 Messages postés vendredi 13 février 2015Date d'inscription 1 septembre 2017 Dernière intervention - 13 juin 2017 à 18:09
0
Utile
6
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. 5988 Messages postés mardi 15 mai 2012Date d'inscription 14 décembre 2017 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. 5988 Messages postés mardi 15 mai 2012Date d'inscription 14 décembre 2017 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 836 Messages postés vendredi 13 février 2015Date d'inscription 1 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 à 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 836 Messages postés vendredi 13 février 2015Date d'inscription 1 septembre 2017 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