22
2013
Polityka plików cookies – Jak umieścić pasek na stronie www sklepu
Od 22 marca 2013 roku weszły w życie przepisy z nowego prawa telekomunikacyjnego dotyczących plików cookies (ciasteczka) na stronach www (np. blogi, sklepy internetowe). W przypadku, gdy właściciele sklepów ich używają, mają obowiązek umieszczenia odpowiedniego komunikatu wraz z regulaminem dla Polityki Plików Cookies, np. logowanie, stan koszyka, integracja z Facebook, Google Analytics itp.
Poniższe dwa fragmenty kodu są odpowiedzialne za wyświetlanie pływającego góra/dół paska popup w stopce strony wraz z możliwością jego zamknięcia.
Kolejność:
- Utworzenie ciastka przed wysłaniem nagłówków HTTP z datą jego wygaśnięcia na rok czasu.
- Sprawdzenie czy ciastko istnieje.
- W zależności od ciastka, jednorazowo wyświetla pasek z odpowiednią treścią wraz z możliwością jego zamknięcia przez funkcję jQuery.
Nagłówek
Umieść poniższy fragment ponad znacznikiem <html> przed wysłaniem nagłówków HTTP.
1 2 3 4 5 |
<? if ( !isset($_COOKIE['politykaCookies']) && $_COOKIE['politykaCookies'] != 'true' ) { setcookie("politykaCookies", "true", time()+60*60*24*365); } ?> |
Objaśnienie:
- Sprawdzamy czy ciastko już istnieje i posiada odpowiednią wartość.
- Jeżeli nie, ustawiamy wartość
true
oraz czas życia na 365 dni. - Umieszczamy ten fragment przed znacznikiem otwierającym <html> lub przed wysłaniem żądania HTTP. Inaczej parser PHP wyrzuci nam komunikat
headers already sent
. setcookie
– funkcja tworząca ciastko. Przyjmuje parametry: nazwa ciastka, wartość, czas życia.time
– zwraca liczbę sekund, które upłynęły do danej chwili od 1970 (Unix timestamp).60*60*24*365
– liczba sekund w minucie * liczba minut w godzinie * liczba godzin w dobie * liczba dni w roku.
Stopka
Fragment kodu do umieszczenia w stopce.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<? if ( !isset($_COOKIE['politykaCookies']) && $_COOKIE['politykaCookies'] != 'true' ) { ?> <script> $('#cookieZamknij').click( function(){ $('#cookiesDiv').fadeOut(); } ); </script> <div id="cookiesDiv" style="position: fixed; bottom: 0; width: 100%; border: 1px solid #003366; margin: 0 0 0 5px; padding: 10px; z-index: 10000; text-align: center; font-size: 12px; background: #eaeaea; color: #000;"> <div style="float: right; cursor: pointer;" id="cookieZamknij">[X]</div> Strona korzysta z plików cookies w celu realizacji usług i zgodnie z <a href="/twoja_strona_polityki_cookies.php" style="color: #000; border-bottom: 1px dotted #000;" title="Polityka cookies">Polityką Plików cookies</a>.<br> Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce. </div> <? } ?> |
Objaśnienie:
- Sprawdzamy czy ciastko już istnieje i posiada odpowiednią wartość. Dzięki temu pasek pojawi się tylko raz dla odwiedzającego stronę, gdy go ręcznie nie zamknął.
- Fragment jQuery odpowiada za ręczne animowane zamknięcie paska z użyciem
fadeOut
. - Blok
cookiesDiv
jest ostylowany, w taki sposób, aby zawsze był wyświetlany na dole wyświetlanego fragmentu strony i poruszał się zgodnie ze scrollem góra/dół.
Po wprowadzeniu powyższego skryptu na naszej stronie sklepu/bloga, otrzymamy pasek informujący odwiedzających o Polityce Plików Cookies. Jest to prosty i skuteczny sposób na spełnienie nowych przepisów na stronach internetowych wykorzystujących ciastka.
Proste i szybkie do wdrożenia ;)
4 komentarze + Dodaj komentarz
Dodaj komentarz
O mnie
Najnowsze wpisy
- Drzewo kategorii – budowa struktury od dołu do góry
- PHPExcel – export + import pliku XLS
- WordPress + Polylang – Tworzenie klasy CSS z ID strony/wpisu w wybranym języku
- Mailing – Poprawna konstrukcja szablonu maila HTML/CSS i prawidłowy wygląd w programie pocztowym
- Szukasz programisty PHP dla e-commerce?
A na tej stronie, zamykający X nie działa…?
Dzięki za uwagę :)
Problem był z jQuery.
Już naprawione.
co trzeba zrobić dokładnie żeby zamykający [x] działał? trzeba dodać coś co nie zostało tutaj wymienione?
pzdr
Przycisk zamykania nie działa – jak poprawić ten błąd?