Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cookie ustawiane w ajaxie
Forum PHP.pl > Forum > XML, AJAX
geogis
Witam,

Mam problem z odczytaniem ciasteczek które zapisuje przez AJAX.

Na stronie mam mały player mp3 który odtwarza muzykę... ale żeby sie nie urywała jak ktoś przechodzi na inna stroną daje możliwość otworzenia muzyki w osobnym okienku. Gdy ktos otwiera to okienko ustawiam cookie na 30 sek i w javascript/ajax ustawiam zeby za 30 sekund znow stworzyl cookie i tak w kółko. W ten sposob ze strony głownej mogę stwierdzić ze muzyka jest odtwarzana w małym okienku i nie musze uruchamiac muzyki na stronie głównej (ta startuje 'autoplay' jesli okienko nie jest otwarte).

kod jaki wykonuje ajax by stworzyc cookie:
  1. <?
  2. setcookie("smp", 'music', time()+15);
  3. ?>


i kod który ma to sprawdzic:

  1. <?
  2. if(empty($_COOKIE['smp']))
  3. {
  4. // graj muzyke
  5. }
  6. else
  7. {
  8. // nie graj muzyki
  9. }
  10.  
  11. ?>


Za kazdym razem spełniony jest warunek że cookie jest pusty i muzyka sie uruchamia. W czym może być problem?

Jakiś inny pomysł na rozwiązanie tego problemu?

z gory dzieki za podpowiedzi!

Rude Dude
Ja do sprawdzania czy COOKIE ma jeszcze ważność używam funkcji isset()
  1. if(IsSet($_COOKIE['ciasteczko'])) {
  2. //ciastko ważne
  3. } else {
  4. //wygasło
  5. }



Możesz nie męczyć serwera wywołaniami php tylko użyć pluginu jquery.cookie
http://plugins.jquery.com/project/cookie

Tworzysz sobie funkcje js i w niej umieszczasz
  1. var date = new Date();
  2. date.setTime(date.getTime() + (6 * 60 * 60 * 1000)); //czas waznosci ciastka np. 6h
  3. $.cookie('nazwa_ciastka', 'wartosc_ciastka', { path: '/', expires: date});

Ustawia ciastko na określony czas.
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.