30701 skanuj0214 (4)

30701 skanuj0214 (4)



Rozdział 8. ♦ Cookies i sesje 227

else i f(i sSet($_GET['nazwa'])){

setCookiet"nazwa". $_GET['nazwa']. timeO + 60 * 60 * 24 * 365): include("thanks.html“):

}

else{

echo("<htm1>"); echo("<body>"):

echo("Witamy. zostałeś(aś) rozpoznany jako $_C00KIE[nazwa]"):

echo("</body>"):

echo("</html>"):

}

W kodzie skryptu znajduje się złożona instrukcja warunkowa if.. .else.. .if, która rozpoznaje trzy różne sytuacje. Pierwsza rozpatrywana sytuacja ma miejsce wtedy, gdy nie jest ustawiony indeks nazwa w tablicy S_C00KIE oraz nie jest ustawiony indeks nazwa w tablicy $_GET. Oznacza to, że została wywołana strona index.php, a na komputerze użytkownika nie ma cookie o nazwie nazwa; nie zostały również przekazane dane z formularza. Wczytywana jest zatem treść pliku form.html zawierającego kod formularza i skrypt kończy działanie.

Druga z rozpatrywanych sytuacji występuje wówczas, gdy w tablicy $_GET znajduje się indeks nazwa, co oznacza, że do skryptu zostały przesłane dane z formularza. W takiej sytuacji za pomocą funkcji setCookie do przeglądarki jest wysyłane cookie o nazwie nazwa, wartości odczytanej z tablicy $_GET i czasie ważności ustawionym na 365 dni (60 sekund * 60 minut * 24 godziny * 365 dni), począwszy od aktualnego czasu, oraz wczytywana jest zawartość pliku thcmks.html, który powinien zawierać informację o przyjęciu danych.

Trzecia rozpatrywana sytuacja ma miejsce wtedy, gdy w tablicy $_C00KIES znajduje się indeks nazwa. Na stronie jest wtedy wyświetlana informacja o rozpoznaniu użytkownika.

Cookies możemy również wykorzystać do zliczania liczby odwiedzin danego użytkownika na naszej witrynie, a ściślej do zliczania wywołań witryny z danej przeglądarki (może się przecież zdarzyć, że z jednego profilu przeglądarki na danym komputerze korzysta wielu użytkowników). Takie zadanie realizuje skrypt widoczny na listingu 8.4.

Listing 8.4. Wykorzystanie cookie do zliczania liczby odwiedzin strony

<?php

$dni = 30:

i f(!i sSet($_COOKIE[1 hi ts'])){

Jhits - 1;

}

else{

Shits = intval($_C00KIE[‘hits']):

$hits++:

}

setCookieChits". "$h1 ts". timeO + 60 * 60 * 24 * $dni):

?>

<html>

<body>


Wyszukiwarka

Podobne podstrony:
skanuj0212 (5) Rozdział 8. ♦ Cookies i sesje 225 Rozdział 8. ♦ Cookies i sesje 225 _ ip
skanuj0218 (4) Rozdział 8. ♦ Cookies i sesje 231 Funkcja zwraca wartość true, jeżeli zmienna przekaz
skanuj0220 (3) Rozdział 8. ♦ Cookies i sesje 233 Rozdział 8. ♦ Cookies i sesje 233 Rysunek 8.5. Wy
skanuj0224 (3) Rozdział 8. ♦ Cookies i sesje 237 if($arr[l] — $pass){ Sresult -
skanuj0226 (3) Rozdział 8. ♦ Cookies i sesje 239 Rozdział 8. ♦ Cookies i sesje 239 Rysunek
skanuj0216 (4) Rozdział 8. ♦ Cookies i sesje 229 Rysunek 8.3. Identyfikator sesji    
31567 skanuj0228 (3) Rozdział 8. ♦ Cookies i sesje 241Śledzenie użytkownika Sesje można wykorzystać
83860 skanuj0222 (3) Rozdział 8. ♦ Cookies i sesje 235 Tabela 8.1. Opcje konfiguracyjne sesji (ciąg

więcej podobnych podstron