Comment inclure une variable session dans une page CSS

Résolu
clé de 12 Messages postés 154 Statut Membre -  
clé de 12 Messages postés 154 Statut Membre -
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


1 réponse

Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   62
 
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.
0
clé de 12 Messages postés 154 Statut Membre 1
 
Je dois donc enregistrer mon css en tant que page php et changer le link de mon head html? Je vais essayer, merci...
Le but du php dans mon css, c'est aussi d'offrir de façon aléatoire par tirage au sort mt_rand() un fond, une image, un background....
Allez, je creuse :o)
0
Utilisateur anonyme > clé de 12 Messages postés 154 Statut Membre
 
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".
0
clé de 12 Messages postés 154 Statut Membre 1 > Utilisateur anonyme
 
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.
0
clé de 12 Messages postés 154 Statut Membre 1 > clé de 12 Messages postés 154 Statut Membre
 
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   62 > clé de 12 Messages postés 154 Statut Membre
 
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>
0