PHP ile Session İşlemleri

Php ile session yani oturum işlemleri gerçekleştirebilir, bazı verileri oturum boyunca tutabilirsiniz. Örneklerle açıklamak gerekirse örneğin e-ticaret sitesi tasarlıyoruz diyelim. Kullanıcının sepete eklediği ürünleri session üzerinde tutabiliriz. Kullanıcı giriş yaptığını varsayalım. Yorum, beğen-beğenme gibi uygulamalarda anlık kullanabilmek için kullanıcı id, mail adresi, isim vb. değerleri session değişkenlerinde tutabiliriz. Şimdi biraz kod yazarak anlatalım.

Bir session oluşturmak için session başlatmış olmamız gerekir. Bunun için ilgili sayfanın en üstüne;

<?php 
//Session Başlatma
session_start();

Artık session oluşturup, değerini güncelleyip hatta silebiliriz.

<?php 
session_start();

$_SESSION['site_adresi'] = 'kazimuslu.com';

echo $_SESSION['site_adresi'];

dediğimizde kazimuslu.com çıktısı ile karşılaşırız. Bunu oturum boyunca hangi sayfada çağırırsak çağıralım içeriği hep aynı olacaktır.

Şimdi session için değeri değiştirelim:

$_SESSION['site_adresi'] = 'kazimuslu.com';

//Yeni değer atayalım:

$_SESSION['site_adresi'] = 'kazuslu.com';
echo $_SESSION['site_adresi'];

Çıktımız artık kazuslu.com oldu. Peki oluşturulan session nasıl silinir? hemen bunu da göstereyim.

<?php 
unsert($_SESSION['site_adresi']);

Artık site_adresi isimli session silinmiş olacak. Şimdi if-else şartlamasının içerisinde kullanalım;

if($_SESSION['site_adresi'] == 'kazimuslu.com'):
echo 'Kazimuslu.com';
else:
echo 'kazuslu.com';
endif;

Pekiştirmek adına oluşturduğunu session değerini döngülerde, şartlı ifadelerde, tarayıcı açık olduğu sürece ve değer ataması gerçekleştirilmiş olduğu sürece tutabilirsiniz. Session içerisinde dizi değerleri de tutabilirsiniz. Örneğin;

<?php 
$_SESSION['sayilar'][0] = 1;
$_SESSION['sayilar'][1] = 2;
.
..
...
$_SESSION['sayilar'][100] = 101;

Bu diziyi yazdıralım;

print_r($_SESSION['sayilar']);

1,den 101’e kadar sayıları dizi eleman-değer ilişkisi ile yazdıracaktır. Döngüye sokalım;

for($i=0; $i < count($_SESSION['sayilar']); $i++):
echo $_SESSION['sayilar'][$i];
endfor;

Buda 1-101 arası sayıları basacaktır.

BENZER YAZILAR

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir