Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Cookies, Usuwanie i sprawdzanie.
internex
post 4.07.2006, 16:10:48
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 3.04.2005

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


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
Go to the top of the page
+Quote Post
Cysiaczek
post 4.07.2006, 16:17:23
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Vogel
post 4.07.2006, 16:18:47
Post #3





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


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.


--------------------
Go to the top of the page
+Quote Post
Cysiaczek
post 4.07.2006, 16:22:34
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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

Ten post edytował Cysiaczek 4.07.2006, 16:24:34


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Vogel
post 4.07.2006, 17:20:58
Post #5





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


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.


--------------------
Go to the top of the page
+Quote Post
Cysiaczek
post 4.07.2006, 17:36:57
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




  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

Ten post edytował Cysiaczek 4.07.2006, 17:40:19


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
phpion
post 4.07.2006, 22:24:44
Post #7





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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
Go to the top of the page
+Quote Post
JulekJP
post 8.03.2010, 21:58:42
Post #8





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 7.03.2009

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


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ć
Go to the top of the page
+Quote Post
kasek
post 7.05.2010, 17:51:43
Post #9





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.11.2007

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


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.
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: 18.07.2025 - 10:06