PHP

PHP Oturum Yönetimi

PHP’de oturum yönetimi, sayfalar arasında veriyi (değişkeni) kullanma imkanı sunan bir yöntemdir. Genellikle üyelik sistemlerinin bir parçası olarak kullanılmaktadır. Fakat üyelik dışında da birden fazla sayfaya veri göndermek içinde oturum kullanılmaktadır. Başka bir örnek de bir kullanıcı kayıt sisteminde kullanıcıdan adım adım kişisel verilerini almak olabilir. Örnekleri bu şekilde uzatmak mümkün.

PHP’de Oturum Nasıl Çalışır?

PHP’de oturum verileri $_SESSION süper global değişkeni içinde dizi olarak kaydedilir.Bir oturum session_start() fonksiyonu ile başlatılır. Oturum açıldığında PHP temporary klasörüne her kullanıcı için PHPSESSID  ile eşsiz bir dosya açar ve oturumu başlatır. Böylelikle kullanıcı sayfalar arasında gezinti sağlarken temporary klasöründeki kullanıcıya ait olan dosyaya ulaşabilir.

Aynı şekilde oluşturulan  PHPSESSID ile sunucu kullanıcının tarayıcısına kaydedilmesi için bu değeri cokie olarak gönderir. Bu şekilde oturum döngüsü sağlanmış olur.

PHP Oturum Fonsiyonları

  • session_start :Oturum başlatır
  • session_register : Süper global değişkene değer kaydeder. $_SESSION da kullanılabilir.
  • session_destroy : Oturum verilerini yok eder.

En temel seviyede bir oturum kontrolü için yukarıdaki fonksiyonlar kullanılarak bir oturum yönetimi sağlanır.

 

Oturum Sınıfını Oluşturma

Yukarıdaki fonksiyonları kullanarak oturum başlatmak, yönetmek ve sonlandırmak mümkün fakat daha esnek kullanımlar ve farklı projeler içinde kullanmak için oturum yönetim sınıfı oluşturmak bir zorunluluktur. Bu şekilde yaparak oturum yönetimini her sayfada esnek bir şekilde kullanılabilir hale getirmiş oluruz.

 

1.Adım: Oturum sınıfı oluşturuyoruz.

 

2.Adım: Singleton tasarımı ile oturum açılışı için gerekli başlatma metodunu yazıyoruz. Oturum başlatıldıysa yeninden başlatmak yerine mevcut oturum üzerinden kullanıcı işlemleri devam eder.

 

3.Adım: Oturumun başlatılıp başlatılmadığı kontrolünü yapmak için kullanılabilecek bir metot yazdım.(fakat çok kullanılacak bir metot değil.)

 

4.Adım: Oturum başlatıldıktan sonra $_SESSION değişkenine veri ekleyerek sayfalar arasında taşıma işlemini gerçekleştiririz. Bunun için sınıfta ekle metodu oluşturduk. $kimlik ile değişken adı, $deger ile değişkene kaydedilecek veriyi belirtiyoruz.

 

5.Adım: $_SESSOIN içindeki verileri okumak için getir ismindeki metot’a $kimlik bilgisini paraketre olarak gönderip içindeki veriyi okuma işlemini gerçekleştiriyoruz.

 

6.Adım: Mevcut oturumdaki tüm kayıtlı verileri dizi olarak okumak için tumu metodunu oluşturuldu.

 

7.Adım: Mevcut oturumu sonlandırmak için bosalt metodu oluşturuldu. Oturum verileri boşaltılıp, oturum sonlandırılıyor.

 

8.Adım: Kayıtlı olan oturuma ait eşsiz kayıt numarasını okumak için oluşturuluş metot.

 

9.Adım (Test): Oturum sınıfı oluşturuldu. Test etmek için aşağıdaki gibi test kodları yazılabilir. Unutmadan belirteyim. Genel bir kullanımdır. Sayfada çıktı işlemi yapmadan önce yazılacak ilk kod oturum başlatma kodudur. Her sayfada oturumu kullanabilmek için Oturum::baslat() metodu çalıştırılması zorunludur.

Oturum.php (Oturum Sınıfı)

 

 

 

Yorum Yap