Když chcete uživateli umožnit měnit vzhled stránky, tak nejdříve potřebujete udělat alespoň dva CSS styly. Jeden bude defaultně nastavený a dále dáte uživateli na výběr, jestli se mu druhý vzhled nebude líbit více. Je to v podstatě neužitečná věc, která jen může uživateli zpříjemnit "pobyt" na vašich stránkách.
Jeden styl by se měl jmenovat modry.css a druhý default.css (ten bude původní).
<?php
$zmen = $_GET['zmen'];
/*pomoci metody GET si predame jaky styl se ma nastavit*/
if ($zmen == "modry") {
setcookie ("styl", "modry", time() + 60*60*24*356, "", "sablony.hyps.cz");
}
/*nastaví se modrý styl*/
if ($zmen == "default") {
setcookie ("styl", "", time() - 60, "", "sablony.hyps.cz");
}
/*vymaže se cookie*/
$styl = $_COOKIE['styl'];
if (!isset($styl)) {
$vypis = "default.css";
}
/*jestliže není cookie nastavena, tak bude styl defaultni*/
if ($styl == "modry") {
$vypis = "modry.css";
}
/*kdyz bude nastavena na modro, tak bude platit modry.css*/
?>
<link href="<?php echo $vypis; ?>" rel="stylesheet" type="text/css" media="all" />
<a href="?zmen=modry">Nastavit modrý styl</a><br />
<a href="?zmen=default">Zpět defaultní styl </a>
Výhodou je, že pokud se člověk na vaše stránky vrátí, tak na něho bude čekat takový vzhled jaký se mu posledně líbil nejvíce. Třeba jen změna barev.
V dokumentu může být třeba jeden dokument CSS, který stanoví strukturu stránky. A v dalším dokumentu CSS můžete mít nastveny barvy a obrázky na pozadí. Pak stačí vložit jiný soubor a máme hned jiné barvy, ale strukrura stránky se zachová.
Samozřejmě můžete měnit i celou strukturu stránky. To znamená, že bude stačit do stránky vkládat jeden CSS soubor a měnit ho.
Tu vidím pouze v tom, že uživatel může zakázat používání cookies a to pak nebude změna stylu fungovat.
Šlo by znamenat do databáze IP adresu návštěvníka a podle toho mu zobrazovat vzhled, ale to bych nepoužívat. Vždyť změna vzhledu není to nejdůležitější.
Databázi bych používal, pokud by šlo o něco důležitějšího, třeba vlastní uspořádání stránky pro registované uživatele atd. Prostě jako nějakou výhodu, rozhodně ne každému "zbloudilci", to by se vám brzy databáze mohla pořádně zahltit.