Stránka 1 z 1

Čtení cookies v CSS souboru?

Napsal: 18 dub 2014 12:38
od kuxik009
Zdravím,
mám stránku, na které si uživatel může zvolit buďto jedno z pár připravených témat, nebo si "namíchat svoje". Funguje to takto: Uživatel zadá do políčka HTML kódy barev u pozadí, odkazů a nadpisů. Ty se potom uloží do cookies (ovšem místo # je %23). Mám různé předpřipravené soubory (zluty.css, cerny.css atd.) a mezi nimi i vlastni.css. Jenže když do toho souboru napíšu toto:

Kód: Vybrat vše

body
 {
  background-color: <?php echo str_replace ("%23", "#", $_COOKIE["pozadi"]); ?>;
  font-family: Verdana, Tahoma, sans-serif;
  font-size: 11pt;
  background-repeat: repeat;
  height: 100%;
 }

a
 {
  text-decoration: underline;
  color: <?php echo str_replace ("%23", "#", $_COOKIE["url"]); ?>;
 }

h1
 {
  margin-bottom: 25px;
  font-size: 20pt;
  color: <?php echo str_replace ("%23", "#", $_COOKIE["nadpisy"]); ?>;
 }

a aktivuji styl vlastni.css, pozadí se vykreslí bíle, nadpisy černě a odkazy modře a po kliknutí fialově - zkrátka standartní nastavení. Nevíte někdo prosím, jak tento problém vyřešit? Samozřejmě by šlo u každého nadpisu psát if (isset ($_COOKIE["nadpisy"])) echo "<font color=$_COOKIE['nadpisy']>"; atd., ale to mi přijde pracné. Děkuji předem.

Re: Čtení cookies v CSS souboru?

Napsal: 18 dub 2014 12:52
od CZechBoY
čus,
pojmenuj ten soubor jako vlastni.css.php, kterej můžeš podstrčit přes htaccess a mod_rewrite

Kód: Vybrat vše


RewriteEngine On
RewriteRule vlastni
\.cssvlastni\.css\.php [L]
 

Re: Čtení cookies v CSS souboru?

Napsal: 18 dub 2014 14:08
od kuxik009
Promiň, ale nerozumím Ti. V programování jsem zatím celkem začátečník (učím se něco málo víc než 1/2 roku). Styl načítám takto:

Kód: Vybrat vše

<link href="<?php echo $_COOKIE["barva"]; ?>.css" rel="stylesheet" media="all">

Co mám teda přesně udělat? Asi přejmenovat ten soubor, a potom dát podmínku:

Kód: Vybrat vše

if ($_COOKIE["barva"] != "vlastni")
 <link href="<?php echo $barva; ?>.css" rel="stylesheet" media="all">
  else
   <link href="<?php echo $barva; ?>.css.php" rel="stylesheet" media="all">

A to stačí? Nebo cos myslel tím
...kterej můžeš podstrčit přes htaccess a mod_rewrite...
? Díky.

Re: Čtení cookies v CSS souboru?

Napsal: 18 dub 2014 14:26
od CZechBoY
Pojmenuj ten soubor nějak aby se jmenoval s koncovkou .php. Pak můžeš používat PHP skriptování.

Re: Čtení cookies v CSS souboru?  Vyřešeno

Napsal: 18 dub 2014 14:36
od kuxik009
Když jsem to přejmenoval na vlastni.css.php a načetl jsem to tou podmínkou výše, pořád to nefunguje.

--- Doplnění předchozího příspěvku (18 Dub 2014 20:34) ---

Super, už to funguje! Vyřešil jsem to takto:
1. Přejmenoval vlastni.css na vlastni.css.php
2. Do souboru, kde se načítá vzhled přidal podmínku:

Kód: Vybrat vše

if ($barva == "vlastni")
    {?>
    <style type="text/css">
    <?php require "vlastni.css.php"; ?>
    </style><?php
    }
     else?>
      <link href="<?php echo $barva; ?>.css" rel="stylesheet" media="all">

Díky hlavně CzechBoyovi za to, žes mi poradil ten soubor přejmenovat. Bez tebe bych na to nepřišel. Díky!