PHP Eğitimi

PHP ANA SAYFA PHP'ye Giriş PHP Kurulumu PHP Sözdizimi PHP Yorumları PHP Değişkenleri PHP Yankı / Yazdır PHP Veri Türleri PHP Dizeleri PHP Numaraları PHP Matematik PHP Sabitleri PHP Operatörleri PHP If...Else...Elseif PHP Anahtarı PHP Döngüleri PHP Fonksiyonları PHP Dizileri PHP Süper Küreseller PHP Normal İfade

PHP Formları

PHP Form İşleme PHP Form Doğrulama PHP Formu Gerekli PHP Formu URL/E-posta PHP Formu Tamamlandı

PHP Gelişmiş

PHP Tarih ve Saat PHP Dahil PHP Dosya İşleme PHP Dosyası Aç/Oku PHP Dosyası Oluştur/Yaz PHP Dosya Yükleme PHP Çerezleri PHP Oturumları PHP Filtreleri PHP Filtreleri Gelişmiş PHP Geri Çağırma İşlevleri PHP JSON'u PHP İstisnaları

PHP OOP

PHP OOP nedir PHP Sınıfları/Nesneleri PHP Oluşturucu PHP Yıkıcı PHP Erişim Değiştiricileri PHP Kalıtımı PHP Sabitleri PHP Soyut Sınıfları PHP Arayüzleri PHP Özellikleri PHP Statik Yöntemler PHP Statik Özellikler PHP Ad Alanları PHP Yinelenebilirler

MySQL Veritabanı

MySQL Veritabanı MySQL Bağlantısı MySQL Veritabanı Oluştur MySQL Tablo Oluştur MySQL Veri Ekle MySQL Son Kimliği Al MySQL Ekle Çoklu MySQL Hazırlandı MySQL Seçim Verisi MySQL Nerede MySQL Sıralaması MySQL Verileri Sil MySQL Güncelleme Verileri MySQL Sınır Verileri

PHP XML'i

PHP XML Ayrıştırıcıları PHP SimpleXML Ayrıştırıcı PHP SimpleXML - Al PHP XML Expat'ı PHP XML DOM'si

PHP - AJAX

AJAX'a Giriş AJAX PHP AJAX Veritabanı AJAX XML'i AJAX Canlı Arama AJAX Anketi

PHP Örnekleri

PHP Örnekleri PHP Derleyici PHP Testi PHP Alıştırmaları PHP Sertifikası

PHP Referansı

PHP'ye Genel Bakış PHP Dizisi PHP Takvimi PHP Tarihi PHP Dizini PHP Hatası PHP İstisnası PHP Dosya Sistemi PHP Filtresi PHP FTP'si PHP JSON'u PHP Anahtar Kelimeler PHP Libxml PHP Postası PHP Matematik PHP Çeşitli PHP MySQLi PHP Ağı PHP Çıkış Kontrolü PHP Normal İfade PHP SimpleXML PHP Akışı PHP Dizisi PHP Değişken İşleme PHP XML Ayrıştırıcı PHP Posta Kodu PHP Saat Dilimleri

PHP setcookie() İşlevi

❮ PHP Ağ Referansı

Örnek

Aşağıdaki örnek, "John Doe" değerine sahip "user" adında bir tanımlama bilgisi oluşturur. Çerezin süresi 30 gün (86400 * 30) sonra sona erecektir. "/", çerezin tüm web sitesinde mevcut olduğu anlamına gelir (aksi takdirde, tercih ettiğiniz dizini seçin).

Daha sonra "user" çerezinin değerini alırız ($_COOKIE global değişkenini kullanarak). Çerezin ayarlanıp ayarlanmadığını öğrenmek için isset() işlevini de kullanırız:

<!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>

Tanım ve Kullanım

setcookie() işlevi, HTTP başlıklarının geri kalanıyla birlikte gönderilecek bir tanımlama bilgisini tanımlar.

Bir kullanıcıyı tanımlamak için genellikle bir çerez kullanılır. Çerez, sunucunun kullanıcının bilgisayarına yerleştirdiği küçük bir dosyadır. Aynı bilgisayar tarayıcılı bir sayfa istediğinde, çerezi de gönderir. PHP ile tanımlama bilgisi değerlerini hem oluşturabilir hem de alabilirsiniz.

Çerezin adı, aynı ada sahip bir değişkene otomatik olarak atanır. Örneğin, "kullanıcı" adıyla bir tanımlama bilgisi gönderildiyse, tanımlama bilgisi değerini içeren $user adlı bir değişken otomatik olarak oluşturulur.

Not: setcookie() işlevi <html> etiketinden ÖNCE görünmelidir.

Not: Tanımlama bilgisinin değeri, tanımlama bilgisi gönderilirken otomatik olarak URL olarak kodlanır ve alındığında otomatik olarak kodu çözülür (URL kodlamasını önlemek için bunun yerine setrawcookie() kullanın).

Sözdizimi

setcookie(name, value, expire, path, domain, secure, httponly);

Parametre Değerleri

Parameter Description
name Required. Specifies the name of the cookie
value Optional. Specifies the value of the cookie
expire Optional. Specifies when the cookie expires. The value: time()+86400*30, will set the cookie to expire in 30 days. If this parameter is omitted or set to 0, the cookie will expire at the end of the session (when the browser closes). Default is 0
path Optional. Specifies the server path of the cookie. If set to "/", the cookie will be available within the entire domain. If set to "/php/", the cookie will only be available within the php directory and all sub-directories of php. The default value is the current directory that the cookie is being set in
domain Optional. Specifies the domain name of the cookie. To make the cookie available on all subdomains of example.com, set domain to "example.com". Setting it to www.example.com will make the cookie only available in the www subdomain
secure Optional. Specifies whether or not the cookie should only be transmitted over a secure HTTPS connection. TRUE indicates that the cookie will only be set if a secure connection exists. Default is FALSE
httponly Optional. If set to TRUE the cookie will be accessible only through the HTTP protocol (the cookie will not be accessible by scripting languages). This setting can help to reduce identity theft through XSS attacks. Default is FALSE


Teknik detaylar

Geri dönüş değeri: Başarı konusunda DOĞRU. Başarısızlıkta YANLIŞ
PHP Sürümü: 4+
PHP Değişiklik Günlüğü: PHP 5.5 - İstemciye gönderilen Set-Cookie başlığına bir Max-Age özelliği
eklendi PHP 5.2 - httponly parametresi eklendi

Daha fazla örnek

Örnek

Çerezler için birkaç son kullanma tarihi:

<?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>

Örnek

Bir tanımlama bilgisini değiştirmek için, tanımlama bilgisini setcookie() işlevini kullanarak (tekrar) ayarlayın:

<?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>

Örnek

Bir tanımlama bilgisini silmek için, geçmişte bir son kullanma tarihi olan setcookie() işlevini kullanın:

<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html>

Örnek

Çerezlerin etkinleştirilip etkinleştirilmediğini kontrol eden küçük bir komut dosyası oluşturun. Önce setcookie() işleviyle bir test tanımlama bilgisi oluşturmaya çalışın, ardından $_COOKIE dizi değişkenini sayın:

<?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>

❮ PHP Ağ Referansı