Autor Zpráva
pollo22
Profil
Zdravím vás, chcem sa len opýtať čo je najlepšie na prenášanie dát medzi podstránkami...teda chcem spraviť farebné schémy...len mi treba nejako prenášať nastavenú tému medzi jednotlivými podstránkami. (čiže nejaku premennú). rozmýšľal som nad $_GET ale stoho som upustil....napadlo ma ešte SESSION, ale to používam pre prihlásenie. tak nevie či je to dobre kombinovať....
srigi
Profil
pollo22
Hmm, tuho rozmyslam - ze by COOKIE, aby mal uzivatel nastavenu rovnaku temu aj pri buducej navsteve.
pollo22
Profil
srigi
Aj nad cookie som rozmýšľal...len som stým ešte nikdy nepracoval
Miloš
Profil
Tak to je nejvyšší čas se to naučit ;-)

Pro uchování CSS profilu jsou sušenky to nejlepší zejména proto, že vydrží mezi návštěvami, zatímco session je udrží pouze pro tu jednu relaci a get nehezky mrzačí url.

Kdysi jsem něco podobného zkoušel a fungovalo mi to.
Script pro přepínací stránku vypadal následovně:
<?php
if (isset($_COOKIE[novy_styl])){
  if ($_COOKIE[novy_styl] == "screen_vychozi.css")
    $vychozi = "checked=\"true\"";
  else if ($_COOKIE[novy_styl] == "screen_vychozi_modra.css")
    $vychozi_modra = "checked=\"true\"";
  else if ($_COOKIE[novy_styl] == "screen_klasika.css")
    $klasika = "checked=\"true\"";
  else if ($_COOKIE[novy_styl] == "nic.css")
    $bezestylu = "checked=\"true\"";
}
else $vychozi = "checked=\"true\"";

echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="cs">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <style type="text/css">
  body {background-color: #f8f8ff; color: #000; margin: 0; padding: 10px; font-family: "DejaVu Sans", Verdana, sans-serif; line-height: 1.4;}
  form {background-color: #fff; padding: 0 5px; line-height: 1.5; width: 30em; border: 3px groove silver;}
  form p {padding: 4px; margin-top: 5px;}
  a:hover {text-decoration: overline; background-color: #fff;}
  h2 {margin-bottom: 0;}
  </style>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache, must-revalidate">
  <meta http-equiv="expires" content="0">
  <meta http-equiv="content-language" content="cs">
  <title>Formulář změny vzhledu</title>
</head>
<body>';

$referer = $_SERVER[HTTP_REFERER];

echo "<h1>Změna vzhledu stránek</h1>
<p>Zde si můžete vybrat z několika různých grafických podob našich stránek.</p>
<p>Po výběru se ve Vašem počítači uloží tzv. <em>cookies</em> (textový soubor) s&nbsp;informací o&nbsp;vybraném stylu.<br>
  Máte-li však ukládání těchto informací ve svém počítači zakázáno, k&nbsp;žádné změně nedojde.</p>

  <form action=\"./proved_zmenu.php\" method=\"post\">
    <h2>Račte si vybrat:</h2>
    <p><input type=\"hidden\" name=\"vrat_se\" value=\"$referer\">
      <input type=\"radio\" name=\"novy_styl\" value=\"screen_vychozi.css\" $vychozi>&nbsp;Výchozí styl ***
        <input type=\"radio\" name=\"novy_styl\" value=\"screen_vychozi_modra.css\" $vychozi_modra>&nbsp;Totéž do modra<br>
      <input type=\"radio\" name=\"novy_styl\" value=\"screen_klasika.css\" $klasika>&nbsp;Klasika (tlačítkové menu vlevo, maximální šířka stránky)<br>
      <input type=\"radio\" name=\"novy_styl\" value=\"nic.css\" $bezestylu>&nbsp;Prosté HTML bez stylování<br>
    </p>
    <p><input type=\"submit\" value=\"Potvrďte změnu stylu\"></p>
</form>
<hr>

</body>
</html>";
?>
Nox
Profil
Miloš
Pokud se neupraví přes htaccess
Mj. ty bezuvozovkové řetězce nejsou pěkné :)
pollo22
Profil
Miloš
Vďaka za kod, ale ja si to radšej napíšem sám :-). Mne stači asi niečo jednoduchšie

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0