Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cookies
Forum PHP.pl > Forum > Przedszkole
internex
Witam

Podczas pisania systemu administracji do pseudo-CMS'a natknąłem się na trzy problemy związane z cookies.
Pytania są następujące:
1) Czy istnieje jakaś funkcja, która pozwalałaby na sprawdzenie, czy użytkownik ma włączoną obsługę cookies?
2) W jaki sposób sprawdzić, czy ciasteczko istnieje już u użytkownika? Dotychczas sprawdzałem, czy istnieją wartości np. $_COOKIE['nick'].
3) W jaki sposób usunąć ciastczko w czasie wylogowywania? Ustawiłem czas time()+1800 (30 minut), ale lepiej jakbym je usuwał razem z naciśnięciem przycisku "wyloguj".

Z góry dziękuję za odpowiedzi.

internex
Cysiaczek
1. Raczej nie sprawdzisz za pomocą php.
2. Tak. Wywołaj w $_COOKIE["cookie_name"]
3. Temu samemu cookie możesz ustawić czas ujemny i wtedy zostanie usuniete.
4. http://pl.php.net/manual/pl/function.setcookie.php - nie powiedziałem nic ponadto
Vogel
Cytat(Cysiaczek @ 4.07.2006, 17:17 ) *
1. Raczej nie sprawdzisz za pomocą php.


raczej sprawdzisz tongue.gif

1. ustawiasz ciasteczko
2. przeladowujesz strone ( header() )
3. jesli testowe ciastko jest ustawione - ciacha sa wlaczone. jesli nie - nie.
Cysiaczek
No to to wiadomo - nie sprawdzisz jednak, czy przeglądarka obsuguje cookies (no chyba, że coś się zmieniło)
To, że możesz to sprawdzić sprawdzając $_COOKIES[name] to przecież podałem.
Żeby było jeszcze proście - musisz rzucić przeglądarce ciastko - jak ci odrzuci, to wnioskujesz, że przeglądarka obsługuje cookies. Problem w tym, że najpierw musisz spróbowaćje ustawić, żeby sprawdzić, a nie sprawdzić, czy mozna i potem spróbować ustawić cookie
Vogel
Cytat(Cysiaczek @ 4.07.2006, 17:22 ) *
No to to wiadomo - nie sprawdzisz jednak, czy przeglądarka obsuguje cookies (no chyba, że coś się zmieniło)


blinksmiley.gif no przed chwila ci pokazalem ze sie da. mozesz to zamknac w jakas ladna klase i hulajdusza.
Cysiaczek
  1. <?php
  2. foreach ($testMyCookieAbility as $thingToDo)
  3. {
  4. Problem w tym, że najpierw musisz spróbowaćje ustawić, żeby sprawdzić,
  5.  a nie sprawdzić, czy mozna i potem spróbować ustawić cookie
  6. }
  7. ?>


tak będzie chyba czytelnie
phpion
Cytat
3) W jaki sposób usunąć ciastczko w czasie wylogowywania? Ustawiłem czas time()+1800 (30 minut), ale lepiej jakbym je usuwał razem z naciśnięciem przycisku "wyloguj".

  1. <?php setcookie("nazwa_ciasteczka"); ?>

Wyslanie ciasteczka z sama jego nazwa, bez wartosci, powoduje jego usuniecie
JulekJP
Sorry że odkopuje stary temat ale ludzie szukajacy podobną odpowiedz napotyka sie na ten tamet w google.. A phpion zle naprowadził.. Dodatkowo trzeba podac pusta wartość i odjąc czas aby zrobił sie na "przeterminowany", wtedy usuwa nam całkowicie a nie pozostawia pusta wartość..
  1. <?php setcookie("nazwa_ciasteczka", "", time() - 7200); ?>


Tak to powinno wyglądać
kasek
Tak ten sposób działa , jednakże ciastko nie jest usuwane a jedynie traci datę ważności,żeby fizycznie usunąć ciastko z komputera trzeba zastosować JS.
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.