Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zmiana CSS`a na stronie
Forum PHP.pl > Forum > Przedszkole
kdr
Witam, jestem tu nowy i chciałbym prosić o poradę dotyczącą skryptu zmieniającego styl hipertesktowy CSS na stronie.

Na swojej stronie wstawiłem taki oto skrypt

stylechanger.php
  1. <?php
  2.  
  3. if(isset($_POST['wybor']))
  4.  {
  5. $zmiana = $_POST['wybor'];
  6. setcookie("WybranyStyl", $zmiana, time() + 86400);
  7.  }
  8. switch($zmiana)
  9.  {
  10. case "Busnews 1.4":
  11.  echo "<LINK REL=stylesheet HREF="http://busnews.cba.pl/templates/default/style.css" TYPE="text/css">";
  12. break;
  13. case "elegance":
  14.  echo "<LINK REL=stylesheet HREF="http://busnews.cba.pl/templates/elegance/style.css" TYPE="text/css">";
  15. break;
  16. default:
  17.  echo "<LINK REL=stylesheet HREF="http://busnews.cba.pl/templates/elegance/style.css" TYPE="text/css">";
  18.  }
  19.  
  20. ?>


A na stronie głównej zamieściłem taki kod:
index.php
  1. <?php
  2. (...)
  3. switch($WybranyStyl)
  4. {
  5.  case "elegance":
  6. echo "
  7. <form action="index.php" method="POST">
  8. <select name=wybor>
  9. <option>elegance</option>
  10. <option>Busnews 1.4</option>
  11. </select>
  12. <br>
  13. <input type=submit value="Zmień Styl">
  14. </form>";
  15.  break;
  16.  case "Busnews 1.4":
  17. echo "
  18.  <form action="index.php" method="POST">
  19.  <select name=wybor>
  20. <option>Busnews 1.4</option>
  21. <option>elegance</option>
  22.  </select>
  23. <br>
  24.  <input type=submit value="Zmień Styl">
  25.  </form>";
  26.  break;
  27.  default:
  28. echo "
  29.  <form action="index.php" method="POST">
  30.  <select name=wybor>
  31. <option>elegance</option>
  32. <option>Busnews 1.4</option>
  33.  </select>
  34. <br>
  35.  <input type=submit value="Zmień Styl">
  36.  </form>";
  37.  break;
  38.  }
  39. ?>


I tu zaczyna się problem - po wybraniu stylu, co prawda zmienia on się i zapisują się odpowiednie informacje w cookie, lecz gdy przejdę do jakiegokolwiek innego odnośnika, to natychmiast wczytywany zostaje domyślny plik CSS.

Jak mógłby sprawić, żeby strona odnajdywała cookie i na podstawie ustawień w nim zapisanych, wczytywała odpowiedni plik CSS?
kossa
bo Twoja zmienna to zmienna przesłana metodą post a na podstronach nie wysyłasz jej już

Cytat
$zmiana = $_POST['wybor'];
setcookie("WybranyStyl", $zmiana, time() + 86400);
}
switch($zmiana)



sprawdz czy zmienna z POST istnieje, jeśli nie to pobieraj zmienną z cookie

  1. <?php
  2. $zmienna = $_COOKIE["zmienna"];
  3. ?>



Łukasz
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.