Comment inclure une variable session dans une page CSS

[Résolu/Fermé]
Signaler
Messages postés
113
Date d'inscription
samedi 19 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2021
-
Messages postés
113
Date d'inscription
samedi 19 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2021
-
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

Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
51
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.
Utilisateur anonyme >
Messages postés
113
Date d'inscription
samedi 19 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2021

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".
Messages postés
113
Date d'inscription
samedi 19 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2021
> 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.
Messages postés
113
Date d'inscription
samedi 19 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2021
>
Messages postés
113
Date d'inscription
samedi 19 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2021

Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
51 >
Messages postés
113
Date d'inscription
samedi 19 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2021

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>
Messages postés
113
Date d'inscription
samedi 19 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2021
>
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019

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