Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tworzenie się ciasteczek (subfoldery) - zamiast na całą stronę
Niree
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Witam.

Napisałem taki kodzik (index.php)

  1. if(!empty($_COOKIE['UNIQUESESSION_SHOP_USER']))
  2. {
  3. checkIfCartHashExist($_COOKIE['UNIQUESESSION_SHOP_USER']);
  4. //tutaj tworzenie ciastka UNIQUESESSION_SHOP_CART
  5. }
  6. else if(!empty($_COOKIE['UNIQUESESSION_SHOP_CART']))
  7. {
  8. checkIfUserHashExist($_COOKIE['UNIQUESESSION_SHOP_CART']);
  9. //tutaj tworzenie ciastka UNIQUESESSION_SHOP_USER
  10. }
  11. else
  12. {
  13. createCartUser();
  14. //tutaj tworzenie i UNIQUESESSION_SHOP_USER i UNIQUESESSION_SHOP_CART
  15. }


Teraz problem jest tego typu. Wszystko działa poprawnie, dopóki nie wejdziemy na stronę np. strona.pl / koszyk (regułka mod_rewrite i tak przekierowuje na index.php)
W tym przypadku skrypt sprawdza pierwszy warunek i ustawia ciastko naszego "koszyka", ale uwaga, tylko na podstronie /koszyk/
I jest problem, bo tworzą się trzy ciastka. Koszyk, użytkownik i koszyk w /koszyk/
Jak wejdę w /zamowienie/ to adekwatnie, tworzy nam ciastko koszyka (pierwszy warunek) na ścieżkę /zamowienie/ zamiast nadawać ciastko na całą stronę. Jak temu zaradzić, jak to zabezpieczeć żeby te ciastka były ZAWSZE na całą stronę, a nie na dane podfoldery, no i żeby się "nadpisywały" będąc na podstronie, a nie tworzyły nowe?

Kod w funkcji:

  1. setcookie('UNIQUESESSION_SHOP_USER', $row['user_hash']);


Ten post edytował Niree 27.06.2017, 18:24:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Niree
post
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Nie wiem, czy zrozumiałeś kod.

Warunek sprawdza, czy ciastko istnieje, jeśli istnieje to sprawdza, który koszyk jest z nim połączony, jeśli żaden koszyk nie jest połączony z tym ciastkiem, to tworzy i nowego usera i nowy koszyk (analogicznie w drugim warunku)

Co ma tutaj operacja na bazie, skoro to jest funkcja i tylko sprawdza, czy wpis istnieje? Problem jest z samym nadaniem ciastka na podstronach. Po prostu tworzy zbędne ciastka.
Wchodzę na index.php - jest okej, są maksymalnie dwa ciastka.
Wchodzę na /koszyk/ - fakt, spełnia się warunek i nadaje nam ciastko koszyka, ale DODAJE NOWE ciastko, zamiast nadpisywać stare. W dodatku nie dość nie że nadpisuje, to jeszcze ustawia ścieżkę na /koszyk/.

Czyli na /koszyk/ mam 3 ciastka: 1 - user ze strony głównej, 2 - koszyk ze strony głównej, 3 - koszyk ze ścieżką /koszyk/
Widocznie setcookie na /koszyk/ nadaje ścieżkę zgodnie z obecnym katalogiem.

Popróbuję z tym path, może przez zmęczenie mi już mózg świruje.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 19:56