Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> cookies, wersja strony
herhor67
post 21.10.2014, 21:38:37
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 21.10.2014

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


Witam,
otóż jakiś czas temu pobrałem pewien CMS (nazwa nie ma znaczenia), a potem na jego podstawie zrobiłem uproszczoną wersję -stronę mobilną.
No i chciałem zrobić coś takiego:
Po wejściu w jedną z tych stron, skrypt sprawdzaczy istnieje plik cookie, jeżeli tak, to jeżeli wartość jest np. "mobile", to przekierowuje na mobilną wersję, jeżeli np. "classic" to na główną.
Jeżeli pliku cookie nie ma, sprawdza z jakiego urządzenia korzysta użyszkodnik i przekierowuje na odpowiednią.
Wydaje się proste, męczyłem się kilka godzin i nie wymęczyłem sad.gif
Oto co napisałem:
Strona główna zawiera:
  1. $ver = $_COOKIE['wersja']; //pobranie do zmiennej warto@ci cookie
  2. include("m/user_agent.php"); //zaincludowanie strony sprawdzajacej urzadzenie
  3.  
  4. if($ver == "mobile") //czy cookie zawiera "mobile"
  5.  {
  6.   header('Location: m/?p=Home'); //przekierowanie na stronę mobilną
  7.  }
  8.  
  9. if(empty($ver)) //jeżeli cookie brak
  10.  {
  11.   if($mobile == 1) //sprawdza czy wykryto telefon/tablet
  12.    {
  13.     header('Location: m/?p=Home'); //przekierowanie na mobilną
  14.    }
  15. }


Strona mobilna:
  1. $ver = $_COOKIE['wersja'];
  2. include("user_agent.php");
  3.  
  4. if($ver == "classic")
  5.  {
  6.   header('Location: ../?p=Home');
  7.  }
  8.  
  9. if(empty($ver))
  10.  {
  11.   if($mobile == 0)
  12.    {
  13.     header('Location: ../?p=Home');
  14.    }


Plik ustawiania ciastek:
  1. $na = $_GET['na'];
  2. if ($na == "mobile")
  3.  {
  4.   setcookie("wersja", "mobile", time()+1000000000);
  5.   header("Location: m/?p=Home");
  6.  }
  7.  
  8. if ($na == "classic")
  9.  {
  10.   setcookie("wersja", "classic", time()+1000000000);
  11.   header("Location: m/../?p=Home");
  12.  }
  13.  
  14. if ($na == "deletecookie");
  15.  {
  16.   setcookie("wersja", "clear", time());
  17.   header("Location: m/?p=Home");
  18.  }

Pewnie robię jakiś głupi błąd, no ale bywa :/
Mam nadzieję że wyraziłem się zrozumiale smile.gif
P.S. Plik do ustawiania ciastek jest w głównym katalogu razem z klasyczną wersją, a strona mobilna jest w podfolderze m/

Ten post edytował herhor67 22.10.2014, 08:44:40
Go to the top of the page
+Quote Post
arnoldk_20
post 21.10.2014, 22:24:16
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.05.2006

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


W instrukcjach if stosuje się dwa znaki równa się
Go to the top of the page
+Quote Post
herhor67
post 21.10.2014, 22:50:47
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 21.10.2014

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


Cytat(arnoldk_20 @ 21.10.2014, 23:24:16 ) *
W instrukcjach if stosuje się dwa znaki równa się

No a jak mam? wszędzie są po dwa równa się (==).
Jakaś inna podpowiedź?
EDIT: my bad, są 2 miejsca z pojedynczym :/
EDIT2: Poprawiłem, ale dalej nie działa.

Ten post edytował herhor67 22.10.2014, 00:16:41
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 Wersja Lo-Fi Aktualny czas: 20.07.2025 - 10:29