php cookies : παραδείγματα εφαρμογής Nikos Balatsoukas Ιουλίου 28, 2013 php Edit Σε αυτό το παράδειγμα για php cookies θα εξηγήσουμε τον τρόπο με τον οποίο η γλώσσα PHP χρησιμοποιεί τα cookies
php-cookies
Τι είναι το Cookie; Ένα cookie συνήθως χρησιμοποιείται για να αναγνωρίσουμε την ταυτότητα του χρήστη (user). Το cookie είναι ένα μικρό αρχείο που ο server το ενσωματώνει στον υπολογιστή του χρήστη. Κάθε φορά που ο χρήστης ζητά μια σελίδα από το server μέσω του browser, θα στείλει και το cookie. Με τη γλώσσα PHP, μπορούμε τόσο να δημιουργήσουμε cookies όσο και να έχουμε πρόσβαση τις τιμές των cookies.
php cookies Πως δημιουργούμε ένα Cookie; Η συνάρτηση setcookie() χρησιμοποιείται για να δημιουργήσουμε τα php cookies.
Προσοχή: Η συνάρτηση setcookie() πρέπει να εκτελεστεί ΠΡΙΝ από την ετικέτα . Σύνταξη:
1
setcookie(name, value, expire, path, domain);
Παράδειγμα 1ο στα php cookies: Στο επόμενο παράδειγμα, θα δημιουργήσουμε ένα cookie με όνομα «user» και θα του δώσουμε την τιμή (value) «Alex Porter» Επίσγς δηλώνουμε οτι το cookie θα λήξει μετά από μια ώρα
1 2 3 4 5 6
<?php setcookie("user", "Alex Porter", time()+3600); ?> <html> .....
Παρατήρηση: Η τιμή του cookie κωδικοποιείται αυτόματα (URLencoded) όταν στέλνουμε το cookie, και επίσης αυτόματα αποκωδικοποιείται (decoded) όταν λάβουμε το cookie. Για να αποφύγουμε το URLencoding, μπορούμε εναλλακτικά να χρησιμοποιήσουμε το setrawcookie(). Παράδειγμα 2ο στα php cookies: Μπορούμε να καθορίσουμε το χρόνο λήξης του cookie με διαφορετικό τρόπο. Ίσως είναι ευκολότερο να το κάνουμε χρησιμοποιώντας seconds.
1 2 3 4 5 6 7
<?php $expire=time()+60*60*24*30; setcookie("user", "Alex Porter", $expire); ?> <html> .....
Στο προηγούμενο παράδειγμα ο χρόνος καθορίστηκε ως ένας μήνας (60 sec * 60 min * 24 hours * 30 days).
Πως μπορούμε να διαβάσουμε την τιμή ενός Cookie; Η μεταβλητή PHP $_COOKIE χρησιμοποιείται για να διαβάζουμε την τιμή ενός Cookie. Στο επόμενο παράδειγμα, διαβάζουμε την τιμή του cookie με όνομα «user» και το παρουσιάζουμε στη σελίδα:
1 2 3 4 5 6 7
<?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?>
Στο επόμενο παράδειγμα php cookies χρησιμοποιούμε τη συνάρτηση isset() για να ελέγξουμε εάν ένα cookie είναι έχει οριστεί:
1 2 3 4 5 6 7 8 9 10 11 12
<html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br>"; else echo "Welcome guest!<br>"; ?> </body> </html>
Πως να διαγράψουμε ένα Cookie; Όταν διαγράφουμε ένα cookie απλά φροντίζουμε ώστε η ημερομηνία λήξης να είναι παρελθοντική ημερομηνία. Παράδειγμα διαγραφής php cookies:
1 2 3 4
<?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?>
Η παρακάτω φόρμα στέλνει την είσοδο του χρήστη (user input) στη σελίδα «welcome.php» όταν ο χρήστης πατήσει στο «Submit» button:
1 2 3 4 5 6 7 8 9 10 11
<html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name"> Age: <input type="text" name="age"> <input type="submit"> </form> </body> </html>
Στη συνέχεια διαβάσουμε τις τιμές στο αρχείο «welcome.php» ως εξής:
1 2 3 4 5 6 7 8
<html> <body> Welcome <?php echo $_POST["name"]; ?>.<br> You are <?php echo $_POST["age"]; ?> years old. </body> </html>
Είδαμε ένα παράδειγμα που εξηγεί τη χρήση των php cookies .
php cookies setcookie
Πηγή: http://www.infopolis.gr/php-cookies/