Partage
  • Partager sur Facebook
  • Partager sur Twitter

CSS dynamique utilisant les variables de session

PHP / CodeIgniter / CSS

Sujet résolu
    1 novembre 2017 à 18:17:03

    Bonsoir tout le monde,

    je développe en ce moment une plateforme web dynamique grâce au framework PHP CodeIgniter et je souhaiterais que chaque utilisateur puisse personnaliser la couleur de son interface. Pour cela, je stocke sa couleur dans ma BDD sous le type "varchar(6)" et je tente d'y accéder via une feuille CSS dynamique mais cela ne fonctionne pas... Voici mon code CSS :

    <?php
    	header('content-type: text/css');
    	header('Cache-Control: max-age=31536000, must-revalidate');
    	session_start();
    ?>
    body{
    	--second-color: <?php echo "#" . $_SESSION['CouleurInterface'] ?>;
    }

    --second-color est une variable CSS. J'ai testé en remplaçant par ceci :

    <?php
    	header('content-type: text/css');
    	header('Cache-Control: max-age=31536000, must-revalidate');
    	session_start();
    ?>
    body{
    	--second-color: <?php echo "#" . "ff0000" ?>;
    }

    et cela fonctionne parfaitement (sauf que cela n'a rien de dynamique du coup...) xD

    J'ai aussi testé que ma variable "$_SESSION['CouleurInterface']" existe bien en l'affichant en vrac dans la page PHP et elle existe bien avec la valeur que je lui ai donnée dans la BDD pour l'utilisateur (exemple : ff0000, je rajoute le "#" dans le code). Savez-vous d'où le problème peut venir ? J'ai bien cherché sur le net et pourtant avec les autres cela fonctionne x)

    Merci d'avance

    PS : Si vous avez besoin de davantage de code, demandez-moi car utilisant un framework MVC le code est étalé sur plusieurs fichiers et je ne voulais pas vous perdre ^^

    -
    Edité par tigerblue77 1 novembre 2017 à 18:20:33

    • Partager sur Facebook
    • Partager sur Twitter
    #V #Tigerblue77
      1 novembre 2017 à 18:21:42

      Bonjour,

      Il me semble que ton problème semble venir de ta manière de concaténer ta variable. Je m'explique tu echo le # et ensuite tu echo ta variable contenant ta couleur.

      essaie ceci :

      --second-color: <?php echo "#".$_SESSION['CouleurInterface'] ?>;
      
      $couleur = $_SESSION['CouleurInterface'];
      
      --second-color: <?php echo "#".$couleur ?>;

      deux solutions.

      j'attends ton retour.

      Henri.

      • Partager sur Facebook
      • Partager sur Twitter
        1 novembre 2017 à 18:26:09

        HenriPineau a écrit:

        Bonjour,

        Il me semble que ton problème semble venir de ta manière de concaténer ta variable. Je m'explique tu echo le # et ensuite tu echo ta variable contenant ta couleur.

        essaie ceci :

        --second-color: <?php echo "#".$_SESSION['CouleurInterface'] ?>;
        
        $couleur = $_SESSION['CouleurInterface'];
        
        --second-color: <?php echo "#".$couleur ?>;

        deux solutions.

        j'attends ton retour.

        Henri.

        Bonsoir Henri, merci de ta réponse rapide, je viens de tester et tes deux solutions ne fonctionnent pas, pour le double "echo" c'était un test de ma part et je viens d'éditer le message mais dans les deux cas cela ne fonctionne pas... Voici le code compilé (navigateur) :
        body{
        	$couleur = $_SESSION['CouleurInterface'];
        	--second-color: #;
        }
        J'ai l'impression que le CSS ne voit pas mes variables de session... J'ai fais pleins de tests et toujours ce résultat

        -
        Edité par tigerblue77 1 novembre 2017 à 18:27:23

        • Partager sur Facebook
        • Partager sur Twitter
        #V #Tigerblue77
          1 novembre 2017 à 18:29:49

          C'est que ta variable n'existe pas, tu as dit que tu l'affiches correctement et quelle ne te semble pas vide ? D’où récupère tu cette couleur ?
          • Partager sur Facebook
          • Partager sur Twitter
            1 novembre 2017 à 18:33:38

            HenriPineau a écrit:

            C'est que ta variable n'existe pas, tu as dit que tu l'affiches correctement et quelle ne te semble pas vide ? D’où récupère tu cette couleur ?


            Mon utilisateur se connecte, je récupère toutes ses données de la BDD (y compris la couleur qui est un attribut de ma table 'utilisateur') et les stocke comme variables de session.
            Lorsque j'ai testé l'affichage tout à l'heure, j'ai fais :

            <?php echo $_SESSION['CouleurInterface'] ?>

            et cela m'a affiché : FF0000 comme prévu... :/

            -
            Edité par tigerblue77 2 novembre 2017 à 9:14:36

            • Partager sur Facebook
            • Partager sur Twitter
            #V #Tigerblue77
              2 novembre 2017 à 9:33:41

              Il y a donc pas de raison que celle ci soit vide. Tu la test dans ton contexte. Essaie de print ta variable juste avant de l'utiliser car il doit y avoir un problème.
              • Partager sur Facebook
              • Partager sur Twitter
                2 novembre 2017 à 20:46:12

                HenriPineau a écrit:

                Il y a donc pas de raison que celle ci soit vide. Tu la test dans ton contexte. Essaie de print ta variable juste avant de l'utiliser car il doit y avoir un problème.


                Bonsoir :) pas de soucis tu veux que je la print où ? car je l'ai déjà fais dans la page PHP utilisant le CSS en question et cela fonctionne. Comme je te disais, ma variable de session s'affiche bien en texte dans la page ^^
                • Partager sur Facebook
                • Partager sur Twitter
                #V #Tigerblue77
                  2 novembre 2017 à 21:20:12

                  Bonsoir,

                  As-tu tout simplement essayé le CTRL + F5 pour faire un rechargement de ta page avec effacement du cache ?

                  La gestion du cache me parait pas au top.

                  header("Cache-Control: no-cache, must-revalidate");

                  Forcer le rechargement à chaque fois serait le mieux. Bien entendu ce n'est pas une merveilleuse solution vu que ça va demander énormément de ressources BDD pour recréer le CSS à chaque page. Le mieux serait un fichier de cache des CSS.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 novembre 2017 à 21:51:46

                    smurf a écrit:

                    Bonsoir,

                    As-tu tout simplement essayé le CTRL + F5 pour faire un rechargement de ta page avec effacement du cache ?

                    La gestion du cache me parait pas au top.

                    header("Cache-Control: no-cache, must-revalidate");

                    Forcer le rechargement à chaque fois serait le mieux. Bien entendu ce n'est pas une merveilleuse solution vu que ça va demander énormément de ressources BDD pour recréer le CSS à chaque page. Le mieux serait un fichier de cache des CSS.

                    Bonsoir, oui j'avais déjà testé en forçant le rafraîchissement, en fait c'est top lorsqu'on ne développe pas car un site ne change pas de look tous les jours en théorie ^^

                    Et je viens de tester ça ne change rien malheureusement, merci tout de meme :)

                    J'aimerais vous donner accès directement au site et au code mais étant donné que je ne veux pas qu'on me copie ça va etre compliqué.. ^^

                    • Partager sur Facebook
                    • Partager sur Twitter
                    #V #Tigerblue77
                      3 novembre 2017 à 10:43:04

                      Bonjour,

                      peut être, essaye de faire session_start() avant les header ? le session_start doit toujours être en début du script.

                      et puis tu peux te prémunir pour ne pas avoir rien du tout avec ce test:

                      if(sessions_start()){
                         $couleur = $_SESSION['CouleurInterface'];
                      }else{
                         $couleur = "FF0000";
                      }



                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 novembre 2017 à 16:41:48

                        Bonjour,

                        je viens d'écrire ton code, ce qui me donne désormais :

                        <?php
                        	session_start();
                        	header('content-type: text/css');
                        	//header('Cache-Control: max-age=31536000, must-revalidate');
                        	//header("Cache-Control: no-cache, must-revalidate"); // forcer revalidation du css
                        	if(sessions_start()){
                        		$couleurInterface = $_SESSION['CouleurInterface'];
                        	} else{
                        		$couleurInterface = "0078D7";
                        	}
                        ?>
                        body{
                        	--second-color: <?php echo "#" . $couleurInterface ?>;
                        }

                        Mais rien a faire... cela ne fonctionne pas, il m'affiche toujours ma couleur constante (#0078D7)... (étonnant non ? Je démarre la session juste avant, il devrait entrer dans le "if" non ?)

                        J'ai testé en mettant le "session_start()" en commentaire, en me disant que le "if" prendrait en compte le "session_start()" que je fais dans la page php appelant le CSS et là surprise... Je n'ai ni la couleur du "if()" ni la couleur du "else" (la constante) ! Donc il détecte bien que ma session à démarré quelque part mais n'arrive pas a accéder a ses variables T_T ...

                        EDIT : Aurais-tu fais une erreur dans ton "if" ? Je dois mettre "sessionS_start()" ou "session_start()" ?
                        Quand je mets "if(session_start())" il rentre dans le "if" meme quand je met "session_start()" en commentaire ;)

                        Je viens de poster une demande en anglais directement sur le forum officiel du framework CodeIgniter, si eux-mêmes ne peuvent pas m'aider je suis réellement dans la mouise ^^'...

                        -
                        Edité par tigerblue77 4 novembre 2017 à 17:25:46

                        • Partager sur Facebook
                        • Partager sur Twitter
                        #V #Tigerblue77
                          5 novembre 2017 à 16:42:36

                          Bonjour,

                          Avec un test tout bête (hors framework), tout fonctionne à merveille:

                          <?php
                          session_start();
                          $_SESSION['color'] = (string)dechex(random_int(0,4094));
                          ?>
                          <!DOCTYPE html>
                          
                          <html>
                          
                          <head>
                          	<title>Test</title>
                          	<meta charset="utf-8" />
                          	<link rel="stylesheet" href="dynamique.css.php" />
                          </head>
                          
                          <body>
                          	<p>&nbsp;</p>
                          </body>
                          
                          </html>

                          dynamique.css.php :

                          <?php
                          session_start();
                          header('content-type: text/css');
                          header('Cache-Control: no-cache, must-revalidate');
                              
                          ?>
                          body{
                              background-color: #<?php echo $_SESSION['color'] ?>;
                          }


                          Attention au cache créé automatiquement dans les frameworks !

                          • Partager sur Facebook
                          • Partager sur Twitter
                            5 novembre 2017 à 18:49:10

                            Attention! la fonction session_start() fait le job (de starter une nouvelle session) mais si tu utilise une 2e fois la fonction dans ton if, comme tu l'a fait, c'est normal que le 2eme appel de cette fonction échoue tout le temps.

                            Il faut ajouter le bout de code que je t'ai proposé en début de code et avant le header.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              5 novembre 2017 à 19:26:22

                              smurf a écrit:

                              Bonjour,

                              Avec un test tout bête (hors framework), tout fonctionne à merveille:

                              <?php
                              session_start();
                              $_SESSION['color'] = (string)dechex(random_int(0,4094));
                              ?>
                              <!DOCTYPE html>
                              
                              <html>
                              
                              <head>
                              	<title>Test</title>
                              	<meta charset="utf-8" />
                              	<link rel="stylesheet" href="dynamique.css.php" />
                              </head>
                              
                              <body>
                              	<p>&nbsp;</p>
                              </body>
                              
                              </html>

                              dynamique.css.php :

                              <?php
                              session_start();
                              header('content-type: text/css');
                              header('Cache-Control: no-cache, must-revalidate');
                                  
                              ?>
                              body{
                                  background-color: #<?php echo $_SESSION['color'] ?>;
                              }


                              Attention au cache créé automatiquement dans les frameworks !

                              Bonjour ! :) Je viens de tester ton code sur mon serveur, oui cela fonctionne tel quel mais dès que je l'applique avec la base de donnée et le framework ça ne veut plus je comprends pas...

                              Autre truc bizarre, le framework me refuse la fonction "random_int()" o_0

                              Bizarre tout ca...

                              pifou25 a écrit:

                              Attention! la fonction session_start() fait le job (de starter une nouvelle session) mais si tu utilise une 2e fois la fonction dans ton if, comme tu l'a fait, c'est normal que le 2eme appel de cette fonction échoue tout le temps.

                              Il faut ajouter le bout de code que je t'ai proposé en début de code et avant le header.

                              Effectivement j'avais des doutes là-dessus mais j'ai beau tout essayer il ne voit pas mes variables de session lorsque la session est démarrée grace au framework, pourtant aucun soucis d'accès depuis les vues/controlleurs/modèles...

                              • Partager sur Facebook
                              • Partager sur Twitter
                              #V #Tigerblue77
                                5 novembre 2017 à 22:41:18

                                random_int est une nouvelle fonction de php7, donc s'il ne reconnait pas, ton framework doit fonctionner sous une version plus ancienne.

                                juste par curiosité tu peux ajouter un var_dump($_SESSION) dans ton CSS et montrer le resultat?

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  5 novembre 2017 à 22:58:46

                                  Salut,

                                  Pourquoi tu ne veux pas mettre ton fichier de génération du css dans un dossier (views par exemple) ou tu auras accès aux fonctions de CodeIgniter ?

                                  Tu créés un contrôleur avec une méthode qui va renvoyer la vue dynamique.css.php et dans cette vue si ta session est dans l'autoload.php pas besoin de session_start(), le FW l'aura chargé pour toi et tu auras accès aux variables session

                                  -
                                  Edité par WillyKouassi 5 novembre 2017 à 23:17:11

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  le bienfait n'est jamais perdu
                                    10 novembre 2017 à 11:17:16

                                    pifou25 a écrit:

                                    random_int est une nouvelle fonction de php7, donc s'il ne reconnait pas, ton framework doit fonctionner sous une version plus ancienne.

                                    juste par curiosité tu peux ajouter un var_dump($_SESSION) dans ton CSS et montrer le resultat?


                                    Pas de soucis je vous fais ça dès que possible, désolé du retard

                                    WillyKouassi a écrit:

                                    Salut,

                                    Pourquoi tu ne veux pas mettre ton fichier de génération du css dans un dossier (views par exemple) ou tu auras accès aux fonctions de CodeIgniter ?

                                    Tu créés un contrôleur avec une méthode qui va renvoyer la vue dynamique.css.php et dans cette vue si ta session est dans l'autoload.php pas besoin de session_start(), le FW l'aura chargé pour toi et tu auras accès aux variables session

                                    -
                                    Edité par WillyKouassi 5 novembre 2017 à 23:17:11

                                    Salut, désolé j'ai pas compris grand chose, mes fichiers css sont dans asset/css et php dans asset/vues, les sessions sont accessibles partout normalement ^^
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    #V #Tigerblue77
                                      10 novembre 2017 à 12:49:56

                                      J'aimerais voir comment fonctionnent les choses chez toi, la vue par exemple où tu appelles ton fichier css dynamique.. Tu dis aussi avoir testé $_SESSION['CouleurInterface'], je suppose que c'est en dehors du fichier css dynamique en question....
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      le bienfait n'est jamais perdu
                                        21 novembre 2017 à 21:00:36

                                        Bonsoir à tous, désolé encore du retard, la semaine dernière à été plutot chargée... Merci de votre compréhension :)

                                        pifou25 a écrit:

                                        random_int est une nouvelle fonction de php7, donc s'il ne reconnait pas, ton framework doit fonctionner sous une version plus ancienne.

                                        juste par curiosité tu peux ajouter un var_dump($_SESSION) dans ton CSS et montrer le resultat?


                                        Voici le résultat de mon css "compilé" lorsque j'ajoute var_dump($_SESSION)
                                        body{
                                        	--second-color: #;
                                        }
                                        array(0) {
                                        }
                                        

                                        WillyKouassi a écrit:

                                        J'aimerais voir comment fonctionnent les choses chez toi, la vue par exemple où tu appelles ton fichier css dynamique.. Tu dis aussi avoir testé $_SESSION['CouleurInterface'], je suppose que c'est en dehors du fichier css dynamique en question....


                                        Voici ma vue où j'appelle mon fichier css dynamique :
                                        <!DOCTYPE html>
                                        <html lang="fr">
                                        	<head>
                                        		<title>************</title>
                                        		<meta charset="UTF-8">
                                        		<meta name="description" content="*************">
                                        		<meta name="author" content="Tigerblue77">
                                        		<meta name="publisher" content="Tigerblue77">
                                        		<meta name="reply-to" content="***@***.fr">
                                        		<meta name="copyright" content="2017 Tigerblue77">
                                        		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/style-header.css' ?>">
                                        		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/style-volet-connexion.css' ?>">
                                        		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/style-menu.css' ?>">
                                        		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/style-index.css' ?>">
                                        		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/style-footer.css' ?>">
                                        		<link rel="shortcut icon" type="image/x-icon" href="<?php echo base_url().'assets/images/favicon.ico' ?>">
                                        		<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
                                        	</head>
                                        	<body>
                                        		<?php
                                        			$this->load->library('session');
                                        			$this->load->view('header');
                                        			if(!$this->session->has_userdata('Utilisateur')){
                                        				$this->load->view('volet-connexion');
                                        			}
                                        			$this->load->view('menu');
                                        		?>
                                        		<main>
                                        			<h2>Bienvenue !</h2>
                                        		</main>
                                        		<?php $this->load->view('footer') ?>
                                        	</body>
                                        </html>

                                        Elle est vraiment très simple ^^, si tu as besoin d'autres morceaux de codes, n'hésites pas a demander :)

                                        Oui c'est bien cela, je l'ai tout simplement affichée à l'arrache dans le <h2> de cette meme page dont le code est ci-dessus.

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        #V #Tigerblue77
                                          21 novembre 2017 à 21:44:00

                                          Désolé mais je ne vois pas l'appel du fichier CSS dynamique.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          le bienfait n'est jamais perdu
                                            21 novembre 2017 à 23:13:40

                                            Autant pour moi, je me suis trompé de vue désolé voici la bonne :
                                            <!DOCTYPE html>
                                            <html lang="fr">
                                            	<head>
                                            		<title>*****</title>
                                            		<meta charset="UTF-8">
                                            		<meta name="description" content="En-tête, pied de page et menu commun à l'ensemble du site.">
                                            		<meta name="author" content="Tigerblue77">
                                            		<meta name="publisher" content="Tigerblue77">
                                            		<meta name="reply-to" content="**@**.fr">
                                            		<meta name="copyright" content="2017 Tigerblue77">
                                            		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/plateforme/couleurs-interface-utilisateur.php' ?>">
                                            		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/font-fico.css' ?>">
                                            		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/plateforme/style-header.css' ?>">
                                            		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/plateforme/style-menu.css' ?>">
                                            		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/plateforme/style-main.css' ?>">
                                            		<link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/style-footer.css' ?>">
                                            		<link rel="shortcut icon" type="image/x-icon" href="<?php echo base_url().'assets/images/favicon.ico' ?>">
                                            	</head>
                                            	<body>
                                            		<?php $this->load->view('plateforme/header'); ?>
                                            		<?php $this->load->view('plateforme/menu'); ?>
                                            		<main>
                                            			<?php echo "<h2>Bienvenue " . $this->session->userdata('Prenom') . " !</h2>"; ?>
                                            		</main>
                                            		<?php $this->load->view('footer'); ?>
                                            	</body>
                                            </html>
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            #V #Tigerblue77
                                              22 novembre 2017 à 9:28:40

                                              Ce que je te conseille est de déplacer le fichier "couleurs-interface-utilisateur.php" dans le dossier "views" et dans ton contrôleur actuel ou un autre contrôleur tu crée une méthode qui va appeler cette vue là... Et là au lieu d'avoir base_url().'assets/......../couleurs-interface-utilisateur.php' tu auras une URL du genre site_url().'/x/couleurs' (je suppose que ton contrôleur s'appelle "X" et la méthode "couleurs" )

                                              <?php
                                              
                                              class X extends CI_Controller
                                              {
                                                  public function couleurs()
                                                  {
                                                      $this->load->view('couleurs-interface-utilisateur');
                                                  }
                                              }


                                              Dans ce cas là tu auras accès aux sessions de ton application et aux fonctions de CodeIgniter dans le fichier couleurs-interface-utilisateur.php

                                              -
                                              Edité par WillyKouassi 22 novembre 2017 à 9:29:55

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              le bienfait n'est jamais perdu
                                                22 novembre 2017 à 9:50:45

                                                WillyKouassi a écrit:

                                                Ce que je te conseille est de déplacer le fichier "couleurs-interface-utilisateur.php" dans le dossier "views" et dans ton contrôleur actuel ou un autre contrôleur tu crée une méthode qui va appeler cette vue là... Et là au lieu d'avoir base_url().'assets/......../couleurs-interface-utilisateur.php' tu auras une URL du genre site_url().'/x/couleurs' (je suppose que ton contrôleur s'appelle "X" et la méthode "couleurs" )

                                                <?php
                                                
                                                class X extends CI_Controller
                                                {
                                                    public function couleurs()
                                                    {
                                                        $this->load->view('couleurs-interface-utilisateur');
                                                    }
                                                }


                                                Dans ce cas là tu auras accès aux sessions de ton application et aux fonctions de CodeIgniter dans le fichier couleurs-interface-utilisateur.php

                                                -
                                                Edité par WillyKouassi il y a 17 minutes

                                                Je pense que vous n'avez pas bien compris, :) "couleurs-interface-utilisateur.php" est en fait un fichier CSS ne contenant que ceci :
                                                <?php
                                                    header('content-type: text/css');
                                                    header('Cache-Control: max-age=31536000, must-revalidate');
                                                    session_start();
                                                ?>
                                                body{
                                                    --second-color: <?php echo "#" . $_SESSION['CouleurInterface'] ?>;
                                                }
                                                Ce n'est pas une vue donc je ne peux pas faire "load->view"... Son but est de créer une variable css qui sera utilisée dans mes autres feuilles css (cela fonctionne très bien en statique actuellement)

                                                -
                                                Edité par tigerblue77 22 novembre 2017 à 9:51:02

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                #V #Tigerblue77
                                                  22 novembre 2017 à 10:05:19

                                                  C'est quoi le problème principal ? $_SESSION['CouleurInterface'] définit quelque part dans ton application n'est pas accessible dans le fichier couleurs....php, n'est-ce pas ? Sinon j'ai bien compris ta demande , je sais au départ que le fichier couleurs....php n'est pas une vue d'où le "déplacer" dans le views.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  le bienfait n'est jamais perdu
                                                    22 novembre 2017 à 11:19:49

                                                    WillyKouassi a écrit:

                                                    C'est quoi le problème principal ? $_SESSION['CouleurInterface'] définit quelque part dans ton application n'est pas accessible dans le fichier couleurs....php, n'est-ce pas ? Sinon j'ai bien compris ta demande , je sais au départ que le fichier couleurs....php n'est pas une vue d'où le "déplacer" dans le views.


                                                    Oui c'est cela, il n'est pas accessible dans le css qui est un fichier au format "php". D'accord je peux le déplacer sans problème mais ce que je disais c'est que je ne peux pas faire "load->view()" puisque ce n'est pas une vue, si ?
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    #V #Tigerblue77
                                                      22 novembre 2017 à 11:25:21

                                                      Tant qu'il est dans le dossier views (par défaut pour les vues), tu peux faire un load->view
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      le bienfait n'est jamais perdu
                                                        22 novembre 2017 à 21:01:08

                                                        Ta session est vide dans le CSS. A mon avis la session est juste restreinte à l'url de base et elle n'est pas accessile dans ton fichier à l'url [url]/asset/css/

                                                        il doit y avoir un cookie SID lié au domaine et que php ne prend pas en compte dans le sous répertoire. Mais je ne sais pas si on peut configurer cela. Sinon pourquoi tu n'envoie pas la couleur dans l'url via une requête GET?

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          23 novembre 2017 à 11:02:06

                                                          WillyKouassi a écrit:

                                                          Tant qu'il est dans le dossier views (par défaut pour les vues), tu peux faire un load->view


                                                          Pas de soucis je ne savais pas, je vais essayer :)

                                                          pifou25 a écrit:

                                                          Ta session est vide dans le CSS. A mon avis la session est juste restreinte à l'url de base et elle n'est pas accessile dans ton fichier à l'url [url]/asset/css/

                                                          il doit y avoir un cookie SID lié au domaine et que php ne prend pas en compte dans le sous répertoire. Mais je ne sais pas si on peut configurer cela. Sinon pourquoi tu n'envoie pas la couleur dans l'url via une requête GET?

                                                          Car cette couleur est utilisée sur l'ensemble de la plateforme, ce serait ridicule, je pense, de faire un "GET" identique sur chaque page... Et puis à coder... Pourquoi pas un cookie ? Non ?

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          #V #Tigerblue77
                                                            23 novembre 2017 à 18:33:51

                                                            PHP retrouve la session en cours à l'aide d'un cookie justement; donc tu risque d'avoir le même problème avec ton cookie qu'avec ta session tu va le perdre. mais je suis d'accord c'est ridicule de passer par un param en GET, il doit bien exister une solution pour propager la session hors du répertoire des vues. (mais je ne sais pas laquelle).
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              24 novembre 2017 à 13:12:10

                                                              pifou25 a écrit:

                                                              PHP retrouve la session en cours à l'aide d'un cookie justement; donc tu risque d'avoir le même problème avec ton cookie qu'avec ta session tu va le perdre. mais je suis d'accord c'est ridicule de passer par un param en GET, il doit bien exister une solution pour propager la session hors du répertoire des vues. (mais je ne sais pas laquelle).


                                                              Héhé je suis content de voir que je ne dis pas que des bêtises :p visiblement même sur le forum codeigniter ils ne savent pas
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter
                                                              #V #Tigerblue77

                                                              CSS dynamique utilisant les variables de session

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown