Rehber PHP ile SESSION Yönetimi

PHP dilinde session kavramını oldukça sık bir şekilde kullanırız, bizim için oldukça yararlı bir yapıdır.
Session aynı zamanda "oturum" anlamına gelir.

Sayfada SESSION Başlatma İşlemi :
Hangi sayfada session komutlarını kullanacaksak mutlaka session_start(); şeklinde oturumu başlatmalıyız.
Oturumu mutlaka sayfanın en başında başlatın, aksi takdirde fark etmeden oturum başlatma kodunun üstünde başka bir session kodu yazarsanız hata alacaksınız.
Unutmayın ki aynı sayfada birden fazla oturum başlatma işlemi gerçekleşemez.

SESSION Oluşturma :
SESSION oluştururken $_SESSION["istedigimiz_ad"] = $istedigimiz_deger;
şeklinde yazaraktan oluşturabiliriz, artık "istedigimiz_ad" isminde bir oturumumuz var.
SESSIONLAR COOKIE yapısının aksine tarayıcıyı kapattığınız zaman bir süre yok olmaz.

SESSIONU Ekrana Yazdırma / Kullanma :
Bir SESSIONU ekrana yazdırırken basitçe ; echo $_SESSION["istedigimiz_ad"];
diye yazabiliriz veya oturumumuzu herhangi bir değişkenin içine atayabiliriz.
Mesela ;
$uye = $_SESSION["kullanici_adi"];
Fakat burada kesinlikle unutmamız gereken bir husus var, eğer $_SESSION["kullanici_adi"] değişirse, $uye değişkenimiz "kullanici_adi" oturumunun her zaman eski değerinde kalır.
Bu yüzden belirli yerler dışında oturumlarınızı sürekli başka değişkenlere atamanızı ve o değişkenlerden kullanmanızı tavsiye etmem.
Fakat veri tabanına kaydederken;

$uye = $_SESSION["kullanici_adi"];
$sorgu = $db->prepare("INSERT INTO uyeler (kullanici_adi) VALUES ('$uye')");
şeklinde kullanabiliriz.

Tüm Oturumu Kapatma / Sadece Belirli Bir Oturumu Silme :
Tüm oturumları sonlandırırken session_destroy diyerek sonlandırabiliriz.
Dikkat edin ki bu komuttan sonra herhangi bir session kodunuz çalışmaz.
Veya sadece belirli bir sessionu silmek için unset($_SESSION["istedigimiz_session"]);
şeklinde bir kod yazabiliriz. Bu koddan sonra başka session kodu yazabilirsiniz, bu kod sadece belirtilmiş olan sessionu siler.
 
Son düzenleyen: Moderatör:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı