PHP

PHP $_COOKIE

Merhaba arkadaşlar. Ben Uygar. Bu yazımda sizlere PHP’de çerez (cookie) kullanımını anlatacağım. Önceki konuları okumanızı tavsiye ederim 🙂

[sam id=”1″ codes=”true”]

[sam id=”1″ codes=”true”]

Çerez Nedir?

Çerezler, genellikle bir kullanıcıyı tanımlamak için kullanılır. Çerezler, sunucu tarafından kullanıcının bilgisayarında saklanan küçük metin belgeleridir. PHP ile çerez oluşturabilirsiniz.

PHP İle Çerez Oluşturmak

Çerez oluşturmak için setcookie() fonksiyonu kullanılır. Bu fonksiyonun parametreleri vardır bunlar:

setcookie(ad, değer, sona erme zamanı, yol, alan adı, güvenlik, yalnızca http)

dir. Şimdi bunların ne olduğunu açıklayalım.

ad: Çerezinizin adıdır.

değer: Çerezinizin değeridir.

sona erme zamanı: Çerezinizin saniye cinsinden yok olma zamanını ifade eder. 30 gün boyunca yok olmayan bir çerez yapmak isterseniz burayı time()+86400*30 şeklinde doldurun. NOT: time() fonksiyonu, geçerli sunucu zamanını çeker.

yol: Çerezin sunucu yoludur. Eğer “/” koyarsanız çerez, tüm alan adında kullanılabilir olur.

alan adı: Çerezin alan adını belirtir. Çerezi tüm alt alan adlarında kullanabilmek için doldurulmalıdır. Mesela www.TurkiyeElektronik.com üzerinde bir çerez oluşturdunuz ve bunu blog.TurkiyeElektronik.com’da kullanmak istiyorsunuz. Bu alana TurkiyeElektronik.com yazmalısınız 🙂

güvenlik: HTTPS bağlantılarında kullanılır. Eğer SSL sertifikanız varsa buraya TRUE yazabilirsiniz. Boş bıraktığınızda FALSE olarak ayarlanır.

yalnızca http: TRUE yazarsanız çerezinize HTTP protokolünden erişilebilir. Ancak bu, script dilleri için değildir ve bunu aktifleştirmemiz XSS saldırılarına neden olabilir. Boş bıraktığınızda FALSE değerini alır.

Çerez Nasıl Oluşturulur?

Çerez oluşturmayı  bir örnekle anlatacağım. Örneğimizde “kullanici” adında, “Uygar” değerinde bir çerez oluşturacağız. Çerezimizin 30 gün sonra kaybolmasını sağlayacağız. (Daha önce de belirttiğimiz 86,400 * 30 formülünü kullanacağız. Çünkü 86,400 saniye, bir gün etmektedir. ) ‘/’ bu da çerezin site boyunca kullanılabilir olduğunu belirtecek. Devam etmeden önce önemli bir fonksiyonun kullanımından bahsedeceğim.

PHP isset()

Isset fonksiyonu, bir değişkenin tanımlı olup olmadığını anlamamızı sağlar. Değişken tanımlı ise 1 (TRUE); tanımlı değilse 0 (FALSE) döndürür. Örneğin:

<?php
if(isset($site)){
echo $site;
}else{
echo "Site bulunamadı.";
}
?>

Bu kodu çalıştırırsak

Site bulunamadı.

çıktısını alırız. Çünkü $site değişkeni tanımlı değildir. Fakat $site değişkenini tanımlarsak

<?php
$site = "TurkiyeElektronik";
if(isset($site)){
echo $site;
}else{
echo "Site bulunamadı.";
}
?>

aşağıdaki çıktıyı alırız:

TurkiyeElektronik

Şimdi çerezimizi oluşturmaya devam edelim.

<?php
$deger = "Uygar";
$sonaErme = time() + (86400 * 30);
setcookie("kullanici",$deger,$sonaErme,'/');

$cerez = $_COOKIE['kullanici'];
if(isset($cerez)){
echo "Değer: ".$cerez;
//Çıktı "Uygar" olur.
}
?>

Bu yazım da buraya kadar. Umarım faydalı olur… Bir sonraki yazımda görüşmek üzere 🙂

 

[sam id=”1″ codes=”true”]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.