Odczyt stałych

0

Witam

wykonuję banalną instrukcję sprawdzania czy COOKIES już istnieje czy nie, ale do tego wmieszałem zdefiniowaną wcześniej stałą, przykład:

define("OWN_COOKIES_NAME", "mycookies", FALSE);
	
if( isset($_COOKIE[OWN_COOKIES_NAME]) ) {
   // odczytaj
} else {
  setCookie(OWN_COOKIES_NAME, "values");
}

i tu niespodzianka bo $_COOKIE nie czyta stałej... kombinuje z różnymi funkcjami w PHP (constant, defined), ale dalej nic, może się na da ?

0
amator1 napisał(a)

(...) i tu niespodzianka bo $_COOKIE nie czyta stałej...

Czyta, czyta - ale ustawiając cookie (setcookie) możesz go odczytać dopiero w następnym żądaniu.

Zgodnie ze specyfikacją:

Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays.

//edit: jeżeli potrzebujesz sprawdzić $_COOKIE w tym samym żądaniu, to po setcookie('mycookies', "costam") dodaj $_COOKIE['mycookies'] = "costam"

0

Próbuje jeszcze odczytać czas COOKIE, tak jak ładnie to widać w ustawieniach przeglądarki, ale trafiłem na to forum :

http://www.webmasterworld.com/forum88/3976.htm

czyli nie można pobrać czasu życia ciasteczka ? To jak robi to przeglądarka ?

0

Przeglądarka to pamięta, ale na serwer wysyła tylko wartość ciastka. Po co ci czas jak sam go ustalasz?

0

hmmm, może moje rozumowanie jest błędne.... otóż, zachowując ciągłość życia ciasteczka (zakładając, że, czas życia to 30dni, a user nie usunie COOKIES) sprawdzając przy każdym wejściu na stronę czy ciasteczko usera 'nie kończy się', jeśli tak to przedłuż je; w ten sposób nie zapisuje ponownie użytkownika, który już istnieje w bazie, tak naprawdę :)

Ogólnie chodzi o to, aby nie zasysać do bazy za każdym razem kiedy wejdzie na stronę, tego samego użytkownika, który nie jest zalogowany.
Sprawdzam więc czy istnieje ciasteczko, jeśli brak to utwórz, jeśli istnieje to zmodyfikuj pewne dane w bazie i sprawdź ile czasu pozostało do końca.

1 użytkowników online, w tym zalogowanych: 0, gości: 1