/ PHP
  1. PHP
  2. Php Session Oturum Kullanımı

Php Session Oturum Kullanımı

Çerezlerde olduğu gibi oturumlar da global bir dizi şeklinde okunur. Fakat oturuma değer eklerken bir fonksiyon kullanmayız.

Bunun yerine global diziyi kullanırız. Çerezlerin tarayıcı üzerinde depolandığından bahsetmiştik ve değerleri değiştirilebildiğinden çok da güvenli olmadığını söyledik. Oturumlar ise tam tersi tarayıcı üzerinde değil de sunucu üzerinde depolanır veya standart olarak 24 dakika sonra oturum otomatik olarak kapatılır ve Oturum çerezlere göre çok daha güvenlidir.

PHP $_SESSION - Oturum Oluşturma ve Güncelleme

Oturum oluşturabilmek için öncelikle session_start(); yazarak oturumu başlatmamız gerekiyor ve Ardından oturum oluşturmak için $_SESSION global dizimize anahtar ile gireceğimiz değeri atamamız yeterlidir. Güncelleme işlemi içinde aynı mantığı uygulamamız yeterli olacaktır.

1
2
3
4
5
6
7
<?php 

    session_start();

    $_SESSION['anahtar'] = 'deger';

?>

Yukarıdaki örnek anahtar ve değerimizi girerek oturum içine veri göndermiş olduk. Güncelleme işleminde ise yine aynı yöntemi kullanıyoruz.

1
2
3
4
5
6
7
<?php

    session_start();

    $_SESSION['anahtar'] = 'yeni değerimiz';

?>

Aynı yöntemi kullanarak eski verimiz üzerine yeni verimizi yazmış olduk. Oturumumuz içine dizi, obje, integer, string, bool vs. birçok şey koyabiliriz.

Php $_SESSION - Oturum Silme

Oturum oluşturduğumuz bir değeri silmek için unset fonksiyonunu kullanmamız yeterlidir.

1
2
3
4
5
6
7
8
9
<?php

    session_start();

    $_SESSION['anahtar'] = 'deger';

    unset($_SESSION['anahtar']);          

?>

Yukarıdaki örnek te unset ile anahtar adındaki anahtarımıza sahip verilerin hepsini silmiş olduk. Peki ya bütün oluşturduğumuz oturumları silmek istersek hepsini tek tek yazmak yerine session_destroy(); kullanmamız yeterlidir.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

    session_start();

    $_SESSION['anahtar'] = 'deger';

    $_SESSION['anahtar_1'] = 'deger';

    $_SESSION['anahtar_2'] = 'deger';

    session_destroy();

?>

Şeklinde oluşturduğumuz bütün oturum verileri silinir. Hepsini tek tek yazmamıza bile gerek kalmadı.

Php $_SESSION - Küçük Bir Örnek

Oturum verimizi bir sayfada oluşturduktan sonra session_start(); kullandığımız bütün sayfalarda o verilere erişebiliriz. Bu işlemi web sitenizde üye giriş sisteminiz için kullanabilirsiniz.

giris.php

1
2
3
4
5
6
7
<?php

session_start();

$_SESSION['giris_hash' ] = md5(time(1));

?>

uyepanel.php

1
2
3
4
5
6
7
8
9
10
11
12
<?php

    session_start();

    if(isset($_SESSION['giris_hash']))
    {

        echo  'giriş yapılmış';

    }

?>

Yukarıdaki örnek ‘te giris.php sayfasında oturumu oluşturuyoruz daha sonra uyepanel.php sayfasında ise oturum açılmış mı şeklinde kontrol yapıyoruz ve oturum açılmış ise giriş yapılmış şeklinde bir mesaj yazdırıyoruz. Fakat bu kadar basit bir şekilde kullanmamalısınız mantığını anlatmak için basit bir örnek gösterdim.