Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd logiczny..., Jestem bardzo początkującym programistą PHP prosze o pomoc.
IMP
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Witam

Napisalem skrypt ktory z zalorzenia ma dzialac w ten oto sposob ze po nacisnieciu na link przenosi mnie do tej samej strony tyle tylko ze z innym css. Wykozystalem do tego ciasteczka i GET.
Oto srkrypt:
  1. <?php
  2. if (empty($_COOKIE['ciacho_css']) && empty($_GET['get_css']))
  3. {
  4. $css = 'style';
  5. setcookie('ciacho_css', $css , time()+60*60*24*7);
  6. }
  7.  else {
  8.  IF (!empty($_GET['get_css']))
  9. {
  10. $css = $_GET['get_css'];
  11. setcookie('ciacho_css', $css , time()+60*60*24*7);
  12. }
  13.  
  14.  }
  15. ?>



a w samym html :

  1. <?php
  2. echo '<link rel="Stylesheet" type="text/css" href="'. $_COOKIE['ciacho_css'] .'.css" >';
  3. ?>



Niestety cos nie dziala, naciskam na link i przenosi mnie znowu do tej samej strony i dopiero po 2 nacisnieciu css sie zmienia. To dziala w obie strony.

www.e-mkk.org strona na ktorej umieszczony jest kod.
Go to the top of the page
+Quote Post
Exek
post
Post #2





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


Cytat z naszej kochanej dokumentacji php:

Common Pitfalls:
  • Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter. A nice way to debug the existence of cookies is by simply calling print_r($_COOKIE);.
Po polskawemu: ciacha widoczne dopiero po następnym załadowaniu strony.
Go to the top of the page
+Quote Post
IMP
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Macie jakas propozycje jak to rozwiazac?? sad.gif
Go to the top of the page
+Quote Post
Exek
post
Post #4





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if (isset($_REQUEST['stylesheet'])) 
  3. {
  4. $stylesheet = $_REQUEST['stylesheet'];
  5. }
  6. else
  7. {
  8. $stylesheet = 'domyslny_arkusz_styli';
  9. }
  10. echo '<link rel="Stylesheet" type="text/css" href="'.$stylesheet.'.css" >';
  11. ?>


  1. <?php
  2. if (isset($_GET['stylesheet'])) 
  3. {
  4. setcookie('stylesheet', $_GET['stylesheet'], time()+60*60*24*7);
  5. }
  6. ?>

To chyba będzie działać (pisane z palca)
Go to the top of the page
+Quote Post
IMP
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Niestety nie działa:/
Go to the top of the page
+Quote Post
Exek
post
Post #6





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


a zmieniłeś link?
twojastrona.php?stylesheet=moj_styl
Go to the top of the page
+Quote Post
IMP
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Jeju zeczywiscie. Dzeki wielki. Jak moglbym cie prosic o wytlumaczenie jak to dziala bo raczej nie rozumiem:)
Go to the top of the page
+Quote Post
Exek
post
Post #8





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. //sprawdzamy czy do skryptu zostala przekazana zmienna o nazwie stylesheet (np z _GET, _COOKIE)
  3. //czyli po kliknieciu na linka odbierze wartosc z _GET, a po przeladowaniu strony 
    zaczną działać ciacha
  4. if (isset($_REQUEST['stylesheet'])) 
  5. {
  6. //jesli tak to ustawiamy arkusz styli z tej zmiennej
  7. $stylesheet = $_REQUEST['stylesheet'];
  8. }
  9. else
  10. {
  11. //jesli nie to wypisujemy domyslny
  12. $stylesheet = 'domyslny_arkusz_styli';
  13. }
  14. echo '<link rel="Stylesheet" type="text/css" href="'.$stylesheet.'.css" >';
  15. ?>


  1. <?php
  2. // jezeli przekazano zmienna _GET np. z linka
  3. if (isset($_GET['stylesheet'])) 
  4. {
  5. // to ustaw ciacho
  6. setcookie('stylesheet', $_GET['stylesheet'], time()+60*60*24*7);
  7. }
  8. ?>


Ten post edytował Exek 21.08.2007, 10:40:42
Go to the top of the page
+Quote Post
IMP
post
Post #9





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Jednak cos jest nie tak. www.e-mkk.org pierwsze menu z lewej, pierwszy link przenosi zmienan get po nacisnieciu jego zmienia sie menu ale jak juz sie zmieni i jestesmy na tej zmienionej podstronie i naciskamy kazzdy inny link lub wejdziemy na nowo na strone to wraca spowrotem do poprzedniego stanu. Jakby ciasteczka juz nie obowiazywaly.
Go to the top of the page
+Quote Post
Exek
post
Post #10





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


A ciastko wysyłasz na początku strony, przed czymkolwiek, czy jak mi się wydaje wpierniczyłeś wszystko w blok menu?
Go to the top of the page
+Quote Post
IMP
post
Post #11





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Nie nie skadze, setcooki dalem wczesniej do index.php (jest to cms) a reszte do TPL swojej skurki.  Blad poprawilem ale teraz znowu jest tak jak wczesniej tzn trzeba 2 razy kliknac:/

Ten post edytował IMP 21.08.2007, 11:58:39
Go to the top of the page
+Quote Post
Exek
post
Post #12





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if (isset($_GET['stylesheet'])) 
  3. {
  4. $stylesheet = $_GET['stylesheet'];
  5. }
  6. elseif (isset($_COOKIE['stylesheet'])) 
  7. {
  8. $stylesheet = $_COOKIE['stylesheet'];
  9. }
  10. else
  11. {
  12. $stylesheet = 'domyslny_arkusz_styli';
  13. }
  14. echo '<link rel="Stylesheet" type="text/css" href="'.$stylesheet.'.css" >';
  15. ?>


Heh.. moj szczwany sposób z REQUEST nie działał po 2gim kliknięciu w linka winksmiley.jpg... ide kawe sobie zrobic tongue.gif

Ten post edytował Exek 21.08.2007, 12:07:07
Go to the top of the page
+Quote Post
IMP
post
Post #13





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


OŁ MEEEN WIELDZIE BUZIAKI CI SIE NALEZA ::************ winksmiley.jpg

Dzieki:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 23:54