Forumda yenilikler devam etmektedir , çalışmalara devam ettiğimiz kısa süre içerisinde güzel bir görünüme sahip olduk daha iyisi için lütfen çalışmaların bitmesini bekleyiniz. Tıkla ve Git
x

Son konular

PHP’de COOKIE (Çerez) İşlemleri

admin

(¯´•._.• Webmaster •._.•´¯)
Yönetici
Modaratör
Katılım
Ara 27, 2022
Mesajlar
210
Etkileşim
3,943
Puan
0
Yaş
37
Konum
Adana
Web sitesi
forumdas.com.tr
F-D Coin
3,884
Ziyaretçi bilgisayarında, ziyaretçiyi takip edebilmek için bilgisayarında siteyle ilgili çerez dediğimiz küçük veriler saklanabilir. Böylece sitemize giren kullanıcı pazarlama, üyelik girişi sırasında kullanıcı adının tanınması veya otomatik sisteme giriş yapılması gibi olanaklar mümkün hale gelir.

Çerezler, yalnızca oluşturuldukları web sitesi geçerli olurlar. Çerezin geçersiz duruma geleceği bir tarih bilgisi tanımlanır. Böylece henüz sisteme giriş yapmamış kullanıcının sepet eklediği ürünlerin 1 hafta daha sepette tutulması, şifresiz girişin 1 ay süreyle kullanılmaya devam edilmesi gibi işlevler gerçekleştirilir. Oluşturulan her bir çerez, yalnızca kullanılan tarayıcıda geçerlidir.

Cookie’ler ziyaretçinin (diğer bir deyişle istemci) bilgisayarında saklanır. Öneğin Chrome ile “beni hatırla” seçeneği işaretlenerek doldurulmuş bir üye girişi formu ile Chrome tarayıcısı kullanıldığında şifre yazma zorunluluğu ortadan kalkacak ancak Firefox ile girildiğinde kullanıcının tanınma işlemi gerçekleştirilmeyecektir.

PHP’de cookie oluştururken dikkat edilmesi gereken şey, oluşturulan cookie’nin <html> etiketinden önce yerleştirilmesidir.

PHP’de Cookie Oluşturma​

PHP’de çerez (cookie) oluşturabilmek için setcookie() fonksiyonu kullanılır. Fonksiyon sırasıyla çerez değişkeninin adı, değeri, son geçerlilik süresi, etkili olacağı alan olmak üzere parametreler alabilir.


1
2
3
<?php
setcookie("çerez adı", "değer", "bitiş zamanı", "geçerlilik konumu", "alan adı");
?>
Genel kullanımı yukarıdaki gibi olan cookie’nin çerez adı ve değeri dışındaki parametreler yazılmasa da çalışmaktadır. Eğer bitiş zamanı yazılmazsa, tarayıcı kapatılana kadar geçerli olmaya devam edecektir.

Geçerlilik süresini ifade ederken mevcut zamanın üzerine istenildiği kadar saniye cinsinden değer eklenerek hesaplanır. Mevcut zamanı saniye cinsinden hesaplamak için time() fonksiyonu kullanılır.

Kullanıcı adı bilgisini $kullanici_adi isimli değişkenden alıp bunu 1 saat süre tutan cookie komutu aşağıdaki gibidir:


1
2
3
<?php
setcookie("kullanici_adi", $kullanici_adi, time()+60*60 );
?>
Kullanıcı adı bilgisini $kullanici_adi isimli değişkenden alıp bunu 1 ay süre tutan cookie komutu aşağıdaki gibidir:


1
2
3
<?php
setcookie("kullanici_adi", $kullanici_adi, time()+60*60*24*30 );
?>
Dikkat edilirse 1 saatin kaç saniye olduğu bilgisi, 60*60 ile bulunabiliyor. Dolayısıyla saat, gün, ay, yıl gibi birimlere çeviri yapmak için ilgili zaman dilimini çarpma işlemine sokmak yeterlidir.

  • time() + 60: 60 saniye = 1 dakika
  • time() + 60*60: 60 dakika = 1 saat
  • time() + 60*60*24: 24 saat = 1 gün
  • time() + 60*60*24*5: 5 gün
  • time() + 60*60*24*7: 7 gün = 1 hafta
  • time() + 60*60*24*30: 30 gün = 1 ay
  • time() + 60*60*24*365: 365 gün = 1 yıl
Eğer oluşturulan cookie’nin yalnızca belirli klasörler altında geçerli olması isteniyorsa “geçerlilik konumu” kısmında bu belirtilir. Kullanıcı adı bilgisini $kullanici_adi isimli değişkenden alıp bunu 1 ay süre tutan cookie, yalnızca web-tasarim klasörü altında geçerli olacaksa bu komut aşağıdaki gibidir:


1
2
3
<?php
setcookie("kullanici_adi", $kullanici_adi, time()+60*60*24*30, "/web-tasarim/");
?>
Yukarıdaki tanımlanan cookie teknikakil.com/web-tasarim/ içinde ve altındaki tüm klasörlerde geçerli olur.

Eğer bir klasör için tanımlı cookie’nin tüm alan adı için geçerli olmasını istersen cookie’yi aşağıdaki şekilde yeniden tanımlayabiliriz:


1
2
3
<?php
setcookie("kullanici_adi", $kullanici_adi, time()+60*60*24*30, "/");
?>
Eğer cookie’nin tüm alt alan adlarında geçerli olması isteniyorsa;


1
2
3
<?php
setcookie("kullanici_adi", $kullanici_adi, time()+60*60*24*30, "/", "teknikakil.com");
?>
Eğer cookie’nin yalnızca belirli bir alt alan adında, mesela yalnızca deneme.teknikakil.com üzerinde etkili olması isteniyorsa aşağıdaki cookie komutu kullanılır:



1
2
3
<?php
setcookie("kullanici_adi", $kullanici_adi, time()+60*60*24*30, "/", "deneme.teknikakil.com");
?>

Cookie’den Değer Okuma​

PHP’de cookie’den değer okuyabilmek için $_COOKIE global değişkeni kullanılır.



1
2
3
4
5
6
7
<?php

if (isset($_COOKIE['kullanici_adi'])) {
echo $_COOKIE['kullanici_adi'];
}

?>


Cookie’yi Silme / Geçersiz Hale Getirme​

PHP’de bir cookie’yi silmenin yolu, bu cookie’nin geçerlilik süresini değiştirmektir. Mevcut zamandan 1 saniye öncesinin bitiş süresi olarak ayarlanması, bu cookie’nin geçerliliği kaldırır.


1
2
3
<?php
setcookie("kullanici_adi", "", time() - 1);
?>
Bu durumda cookie’ye değer verme zorunluluğu yoktur. Silinmek istenen cookie değişkeninin (“kullanici_adi”) doğru yazılması yeterlidir.

Cookie ile İlgili Önemli Noktalar​

  1. Cookie’de şifre gibi kritik bilgiler tutulmaz. Cookie istemci, yani ziyaretçinin bilgisayarında saklandığı için ziyaretçinin bu veriyi değiştirme ihtimalinin bulunduğu her zaman göz önünde bulundurulmalıdır.
  2. Bir site, başka bir site için oluşturulan cookie’lere ulaşamaz.
  3. Geçerlilik süresi sonra ermiş bir cookie’ye ulaşılamaz.
  4. Cookie’ler tarayıcıya özgü olarak oluşur.
  5. Cookie ayarlandığı anda aynı sayfada gösterilmez. Bu bir sorun olarak görünse de gösterilmesi için sayfanın sayfanın yenilenmesi gerekir.
 

Similar threads

PHP ifadeleri ve operatörleri PHP’de yapacağımız ve yaptıracağımız her şey için PHP ifadelerini kullanırız. Adı üstünde çalışmamızı ifade edecek şeylere PHP ifadeleri deriz. Genel olarak <?php ve ?> arasına yazacağımız her şey bir PHP ifadesidir. Bunlardan bir çoğunu ayrı başlıklar altında...
Cevaplar
0
Görüntüleme
298
Hiçbir kullanıcı, tüm vaktini bilgisayar başında geçirmek istemez Bazı işlemlerin zamanı geldiğinde başlamasını bekler Örneğin güncellemelerin zamanlanması ve zamanı gelince çalışması, kullanıcılar tarafından istenilir İşletim sistemlerinde yapılan işlemler, süreçler halinde yönetilir Bazı...
Cevaplar
0
Görüntüleme
221
Hiçbir kullanıcı, tüm vaktini bilgisayar başında dinmek istemez Bir Takım işlemlerin zamanı geldiğinde başlamasını bekler Mesela güncellemelerin zamanlanması ve zamanı gelince çalışması, kullanıcılar tarafından istenilir İşletim sistemlerinde yapılan işlemler, süreçler halinde yönetilir Bazı...
Cevaplar
0
Görüntüleme
153
Yeni başlayanlara!!! Bilgisayar Nedir? Donanımları Nelerdi, Ne işe Yararlar? Bilgisayar Nedir? Bilgisayar; kendine evvelden yüklenmiş program gereğince dağıtılmış bilgileriverileri yerinde ortamlarda saklayan ve istenildiğinde geri getiren, farklı alanlara yönlendirilmiş aritmetiksel ve...
Cevaplar
0
Görüntüleme
198
Tarayıcınızda CTRL+F kombinasyonuyla çıkan pencereye aradığınız oyunu yazarsanız hilenizi çok çabuk bulabilirsiniz RAKAMLARLA BAŞLAYAN OYUNLAR 18 WHEELS OF STEEL : CONVOY Oyun esnasında tilde(~) (numaraların en solundaki buton) tusuna basarak konsolu açın Asagıdaki kodları bu...
Cevaplar
0
Görüntüleme
197
858,505Konular
982,805Mesajlar
33,076Kullanıcılar
CvvhvvSon üye
Üst Alt