Cookies

Τα cookies είναι μικρά αρχεία τα οποία δημιουργεί ο server μιας ιστοσελίδας και τα οποία καταχωρούνται στον υπολογιστή του χρήστη. Χρησιμοποιούνται για αναγνώριση χρήστη, για αποθήκευση συγκεκριμένων ρυθμίσεων που βολεύουν το χρήστη όταν επισκέπτεται το εκάστοτε website, για την αποθήκευση των στοιχείων εισόδων σε ένα site (username ή / και κωδικός) και πολλά άλλα.

Δημιουργία cookie
Για να δημιουργήσουμε ένα cookie, χρησιμοποιούμε τη συνάρτηση setcookie:

Σύνταξη
setcookie (name, value, expire, path);

Παράμετρος

Περιγραφή

name

Το όνομα του cookie.

value

Η τιμή του cookie.

expire

Το πότε λήγει ένα cookie. Δέχεται τιμή σε μορφή timestamp, οπότε μπορεί να γίνει χρήση της mktime που είδαμε στην ενότητα με τη συνάρτηση date.

path

Ο κατάλογος στον οποίο θα αποθηκευτεί το cookie (προαιρετικό).

Παράδειγμα

<?php
    $timestamp = time () + 2 * 60 * 60;
    setcookie ( "user", "Spyros", $timestamp );
?>

Ο παραπάνω κώδικας δημιουργεί ένα cookie με την ονομασία “user”, το οποίο έχει την τιμή “Spyros” και λήγει σε 2 ώρες ( 2 ώρες = 2 * 60 λεπτά = 2 * 60 * 60 δευτερόλεπτα). Προσθέτουμε δηλαδή στο τρέχον timestamp, 2 επιπλέον ώρες σε δευτερόλεπτα. Μετά από τις δύο ώρες, το cookie διαγράφεται από τον υπολογιστή του χρήστη.

Για να δούμε την τιμή ενός cookie, χρησιμοποιούμε τον πίνακα $_COOKIE και το όνομα του cookie. Π.χ.

<?php
    echo $_COOKIE ['user'];
?>

Για παράδειγμα, μπορούμε να έχουμε ένα cookie στο οποίο θα καταχωρούμε το όνομα ενός χρήστη κατά την είσοδο σε ένα site.

<?php
    if ( isset ( $_COOKIE ['user'] ) )
    {
        echo "Καλώς ήλθες, ".$_COOKIE ['user'];
    } // end if
    else
    {
        echo "Καλώς ήλθες, επισκέπτη.";    
    } // end else
?>

Διαγραφή cookie
Για να διαγράψουμε ένα cookie, αρκεί να θέσουμε την παράμετρο $expire με τιμή που αντιστοιχεί στο παρελθόν. Π.χ.

<?php
    $timestamp = time () - 2 * 60 * 60;
    setcookie ( "user", "Spyros", $timestamp );
?>