PHP setrawcookie() συνάρτηση
Ορισμός και Χρήση
Η συνάρτηση setrawcookie() δεν URL κωδικοποιεί την τιμή του cookie, αποστέλλει ένα HTTP cookie.
Το cookie είναι μια μεταβλητή που αποστέλλεται από τον διακομιστή στον περιηγητή. Το cookie είναι συνήθως ένα μικρό κείμενο αρχείο που ενσωματώνεται από τον διακομιστή στο υπολογιστή του χρήστη. Καθεξής που ο υπολογιστής ζητά μια σελίδα μέσω του περιηγητή, αποστέλλεται αυτό το cookie.
Το όνομα του cookie καθορίζεται ως η ίδια ονομαστική μεταβλητή. Για παράδειγμα, αν το cookie που αποστέλλεται ονομάζεται "name", δημιουργείται αυτόματα η μεταβλητή $user που περιέχει την τιμή του cookie.
Η ρύθμιση του cookie πρέπει να γίνει πριν από οποιαδήποτε άλλη αποστολή στοιχείων.
Αν περάσει, η συνάρτηση επιστρέφει true, αλλιώς false.
Γλώσσα
setcookie(name,value,expire,path,domain,secure)
Παράμετροι | Περιγραφή |
---|---|
name | Απαιτείται. Προσδιορίζει το όνομα του cookie. |
value | Απαιτείται. Προσδιορίζει την τιμή του cookie. |
expire | Προαιρετικό. Προσδιορίζει την διάρκεια ζωής του cookie. |
path | Προαιρετικό. Προσδιορίζει το δρόμο του διακομιστή του cookie. |
domain | Προαιρετικό. Προσδιορίζει το όνομα του τομέα του cookie. |
secure | Προαιρετικό. Προσδιορίζει αν το cookie θα μεταφέρεται μέσω ασφαλούς HTTPS συνδέσεων. |
Συμβουλές και Σημειώσεις
Σημείωση:Η τιμή του cookie με το όνομα "user" μπορεί να προσέγγιστεί μέσω $HTTP_COOKIE_VARS["user"] ή $_COOKIE["user"].
Σημείωση:setrawcookie() με setcookie() Απέξω από το ίδιο, η διαφορά είναι ότι η τιμή του cookie δεν URL κωδικοποιείται αυτόματα κατά την αποστολή στον πελάτη.
Παράδειγμα
Παράδειγμα 1
Ρύθμιση και αποστολή cookie:
<?php $value = "my cookie value"; // Αποστολή ενός απλού cookie setrawcookie("TestCookie",$value); ?> <html> <body> ... ...
<?php $value = "my cookie value"; // Αποστολή ενός cookie που λήγει μετά από 24 ώρες setrawcookie("TestCookie",$value, time()+3600*24); ?> <html> <body> ... ...
Παράδειγμα 2
Αναζητήσεις διαφορετικών μεθόδων για την τιμή του cookie:
<html> <body> <?php // Εκτυπώνει ένας συγκεκριμένος cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // Output all cookies print_r($_COOKIE); ?> </body> </html>
Output:
my cookie value my cookie value Array ([TestCookie] => my cookie value)
Example 3
// Delete a cookie by setting the expiration date to a past date/time:
<?php // Set the expiration date to one hour ago setrawcookie ("TestCookie", "", time() - 3600); ?> <html> <body> ... ...
Example 4
Create an array cookie:
<?php setrawcookie("cookie[three]","cookiethree"); setrawcookie("cookie[two]","cookietwo"); setrawcookie("cookie[one]","cookieone"); // Output cookie (after page reload) if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "$name : $value <br />"; } } ?> <html> <body> ... ...
Output:
three : cookiethree two : cookietwo one : cookieone