Örnek
Aşağıdaki örnek adında bir çerez oluşturur "user" değeri ile "John Doe" . Çerez 30 gün sonra dolacaktır (86400 * 30) . "/" Çerez web sitesinin tamamı mevcut olduğu anlamına gelir (otherwise, select the directory you prefer) .
Sonra cookie`yi almak "user" (global değişken $ _COOKIE kullanarak). Biz de kullanmak isset() çerez ayarlanmışsa öğrenmek için fonksiyon:
<!DOCTYPE html>
<?php
$cookie_name = "user";
$cookie_value = "John
Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' is not
set!";
} else {
echo "Cookie '" . $cookie_name
. "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
»Run örnek Tanımı ve Kullanımı
setcookie() işlevi, bir kurabiye, HTTP başlıklarının kalanıyla birlikte gönderilecek tanımlar.
Çerez genellikle kullanıcıyı tanımlamak için kullanılır. Çerez sunucusu kullanıcının bilgisayarında gömer küçük bir dosyadır. Aynı bilgisayar tarayıcısı olan bir sayfayı istediğinde her defasında, çok çerez gönderir. PHP ile, oluşturmak ve çerez değerlerini alabilir hem.
çerez ismi otomatik olarak aynı adı taşıyan bir değişkene atanır. Bir çerez adı ile gönderilmesi durumunda Örneğin, "user" , değişken otomatik çerez değerini içeren, $ user denilen yaratılır.
Note: setcookie() fonksiyonu ÖNCE görünmelidir <html> etiketi.
Note: çerez değerinin çerez gönderirken otomatik urlencoded ve alınan otomatik deşifre edilir (URLencoding, kullanım önlemek için setrawcookie() yerine).
Sözdizimi
setcookie( name,value,expire,path,domain,secure,httponly );
Parametre | Açıklama |
---|---|
name | Gereklidir. çerez adını belirtir |
value | İsteğe bağlı. cookie`yi belirtir |
expire | İsteğe bağlı. çerez süresi dolduğunda belirtir. Değeri: time() + 86400 * 30, 30 gün içinde sona erecek bir çerez ayarlar. Bu parametre ihmal veya 0 olarak ayarlanırsa, çerez oturumun sonunda sona erecek (when the browser closes) . Varsayılan 0'dır |
path | İsteğe bağlı. çerez sunucu yolunu belirtir. Olarak ayarlanırsa "/" , çerez, tüm etki alanı içinde satışa sunulacak. Olarak ayarlanırsa "/php/" , çerez sadece php dizini ve php tüm alt dizinleri içinde satışa sunulacak. Varsayılan değer çerez ayarlanır ediliyor geçerli dizindir |
domain | İsteğe bağlı. çerez alan adını belirtir. Example.com tüm alt alanlarındaki çerez kullanımına açmak için hiç etki alanını ayarlamak "example.com" . www.example.com olarak ayarlama www alt alan adı içinde çerez sadece kullanılabilir hale getirir |
secure | İsteğe bağlı. çerez sadece güvenli bir HTTPS bağlantısı üzerinden iletilen edilmelidir olup olmadığını belirtir. DOĞRU güvenli bir bağlantı varsa çerez sadece kurulacaktır gösterir. Standart YANLIŞ |
httponly | İsteğe bağlı. TRUE olarak ayarlanırsa çerez sadece HTTP protokolü üzerinden erişilebilir olacaktır (the cookie will not be accessible by scripting languages) . Bu ayar XSS saldırılarıyla kimlik hırsızlığı azaltmaya yardımcı olabilir. Standart YANLIŞ |
Teknik detaylar
Geri dönüş değeri: | Başarı durumunda. aksi takdirde FALSE |
---|---|
PHP Sürümü: | 4+ |
PHP Değişiklikler: | PHP 5.5 - Bir Max-Yaş nitelik müşteriye gönderilen Set-Cookie başlığındaki dahil PHP 5.2 - httponly parametresi eklendi |
Diğer Örnekler
Örnek
Çeşitli çerezleri için tarihleri aşımı süresi:
<?php
$value = "Hello world!";
// cookie will expire when the
browser close
setcookie("myCookie", $value);
// cookie will expire
in 1 hour
setcookie("myCookie", $value, time() + 3600);
// cookie
will expire in 1 hour, and will only be available
// within the php
directory + all sub-directories of php
setcookie("myCookie", $value,
time() + 3600, "/php/");
?>
<html>
<body>
...some code...
</body>
</html>
»Run örnek Örnek
Sadece set bir çerez, değiştirmek için (again) kullanarak çerez setcookie() fonksiyonu:
<?php
$cookie_name = "user";
$cookie_value = "Alex
Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' is not
set!";
} else {
echo "Cookie '" . $cookie_name
. "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
»Run örnek Örnek
Kullanmak, bir çerez silmek için setcookie() geçmişte bir son kullanma tarihi ile işlevini:
<?php
// set the expiration date to one hour ago
setcookie("user",
"" , time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user'
is deleted.";
?>
</body>
</html>
»Run örnek Örnek
Olmadığını denetleyen bir kod oluşturma cookies etkin. İlk olarak, bir test çerez oluşturmak deneyin setcookie() , ardından işlevi $ _COOKIE dizi değişken saymak:
<?php
setcookie("test_cookie", "test" , time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies
are disabled.";
}
?>
</body>
</html>
»Run örnek <PHP HTTP Referans