PHP web dilinde Session(Oturum) Kontrolü
Kullandığınız birçok uygulamada session mantığını görebilirsiniz. Facebook, Gmail, Hotmail ve Yahoo başta olmak üzere, gezdiğiniz her e-ticaret sitesinde session kullanıldığını söyleyebiliriz. Ağırlıklı olarak PHP'de anlatımlarımızı yapsak da, session aslında tüm web dillerinde var. Phyton, ASP.net, Perl gibi dillerde yazım şekillerinde farklılıklar olsa aslında aynı mantıkla kullanabilirsiniz.
Session(Oturum) ne demektir?
Session, Türkçesiyle "oturum nesnesi"; kullanıcının şifresi ve kullanıcı adı ile giriş yaptığı sistemlerde, kullanıcı bilgisinin SESSION nesneleri aracılığıyla sayfalar arasında taşınmasıdır. Session nesneleri tarayıcı kapatıldığında otomatik olarak sonlanırlar. Tarayıcı kapatılmazsa varsayılan süre 20 dakikadır. Bu süre kullanıcı tarafından ayarlanabilir, session_timeout parametresine atanan değer süresince session çalışmaya devam eder.
Örneğin bir bankanın internet sitesine Müşteri Numaranız, parolanız ve telefonunuza gelen SMS ile giriş yaptığınızda, banka veritabanından bilgilerinize ulaşılır ve diğer sayfalarda bu bilgiler kullanılır, siz sayfalar arasında dolaşırken size tekrar tekrar giriş bilgileri sorulmaz. Banka sunucusu, sisteme giriş yapan her müşteri için eşsiz bir session_id üretir ve sizi diğer müşterilerden bu session_id sayesinde ayırır.
PHP'de session başlatmak için sayfanın en başına aşağıdaki kodu yazıyoruz.
session_start();
Daha sonra, oturum değişkenleri oluşturmak için $_SESSION['degisken_adi'] şeklinde değilkenlere ulaşıyoruz. Örneğin giriş yapılan sayfada kullanıcı adı ve şifre veritabanında bulunduktan sonra, istenilen bilgiler session değişkenlere aşağıdaki şekilde aktarılır.
$_SESSION['adisoyadi'] = "Oğuzhan TAŞ"
$_SESSION['dogumyeri']="Elazığ"
$_SESSION["egitim"] = "Yüksek Lisans"
Başka bir web sayfasında bu değişkenleri ekrana yazdırmak ya da ulaşmak isterseniz;
echo $_SESSION['adisoyadi] yazarak ulaşabilirsiniz. Bu ifadeyi tabi ki başka değişkenlere de atayabilirsiniz. $adi = $_SESSION['adisoyadi] gibi.
Oturum Nasıl Kapatılır?
Yukarıda belirttiğimiz gibi varsayılan oturum süresi 20 dakikadır. Kullanıcı 20 dakika boyunca hiçbir işlem yapmazsa otomatik olarak SESSION değişkenlerinin içeriği boşaltılır. Örneğin, kullanıcı giriş yaptı ve öğle yemeğine gitti, yarım saat sonra tekrar bilgisayar başına döndüğünde ve session ile girilmesi gereken herhangibir sayfaya girmek istediğinde başarılı olamayacaktır. Sistem direkt olarak giriş sayfasına yönlendirecektir. Aşağıdaki if şartıyla durumu anlatabiliriz, session ile girilmesi gereken her web sayfasının başında aşağıdaki kontrolü yapmalıyız.
if ($_SESSION["adisoyadi"]=="")
{
//Oturum değişkeninin içeriği boş, direkt anasayfaya yönlendirme kodları
// bu kısma gelecek.
}
Oturumu kullanıcı sonlandırmak isterse, yani menülerden "Sistemden Çıkış" ya da "Oturumu Kapat" gibi bir seçeneği seçtiğinde, SESSION değişkenlerinin içeriğini biz boşaltmalıyız. Aşağıda bu işlemi yapmak için gerekli kodlar, 2 satırda işlemi tamamlıyoruz.
session_unset(); // tüm session değişkenlerini hafızdan kaldırır.
session_destroy(); // sessionu tamamen bitirir.
Şimdilik anlatımlar bu kadar, gerekli olan komutları ve kullanımlarını öğrendik, gelecek yazımızda detaylı bir örnek ile anlatacağız.
İyi çalışmalar dilerim.
Oğuzhan TAŞ
Ocak 2015
KAYNAKLAR
PHP Session Kavramı
http://www.w3schools.com/php/php_sessions.asp
PHP Session Kütüphanesi
http://php.net/manual/tr/book.session.php
Session(Oturum) ne demektir?
Session, Türkçesiyle "oturum nesnesi"; kullanıcının şifresi ve kullanıcı adı ile giriş yaptığı sistemlerde, kullanıcı bilgisinin SESSION nesneleri aracılığıyla sayfalar arasında taşınmasıdır. Session nesneleri tarayıcı kapatıldığında otomatik olarak sonlanırlar. Tarayıcı kapatılmazsa varsayılan süre 20 dakikadır. Bu süre kullanıcı tarafından ayarlanabilir, session_timeout parametresine atanan değer süresince session çalışmaya devam eder.
Örneğin bir bankanın internet sitesine Müşteri Numaranız, parolanız ve telefonunuza gelen SMS ile giriş yaptığınızda, banka veritabanından bilgilerinize ulaşılır ve diğer sayfalarda bu bilgiler kullanılır, siz sayfalar arasında dolaşırken size tekrar tekrar giriş bilgileri sorulmaz. Banka sunucusu, sisteme giriş yapan her müşteri için eşsiz bir session_id üretir ve sizi diğer müşterilerden bu session_id sayesinde ayırır.
PHP'de session başlatmak için sayfanın en başına aşağıdaki kodu yazıyoruz.
session_start();
Daha sonra, oturum değişkenleri oluşturmak için $_SESSION['degisken_adi'] şeklinde değilkenlere ulaşıyoruz. Örneğin giriş yapılan sayfada kullanıcı adı ve şifre veritabanında bulunduktan sonra, istenilen bilgiler session değişkenlere aşağıdaki şekilde aktarılır.
$_SESSION['adisoyadi'] = "Oğuzhan TAŞ"
$_SESSION['dogumyeri']="Elazığ"
$_SESSION["egitim"] = "Yüksek Lisans"
Başka bir web sayfasında bu değişkenleri ekrana yazdırmak ya da ulaşmak isterseniz;
echo $_SESSION['adisoyadi] yazarak ulaşabilirsiniz. Bu ifadeyi tabi ki başka değişkenlere de atayabilirsiniz. $adi = $_SESSION['adisoyadi] gibi.
Oturum Nasıl Kapatılır?
Yukarıda belirttiğimiz gibi varsayılan oturum süresi 20 dakikadır. Kullanıcı 20 dakika boyunca hiçbir işlem yapmazsa otomatik olarak SESSION değişkenlerinin içeriği boşaltılır. Örneğin, kullanıcı giriş yaptı ve öğle yemeğine gitti, yarım saat sonra tekrar bilgisayar başına döndüğünde ve session ile girilmesi gereken herhangibir sayfaya girmek istediğinde başarılı olamayacaktır. Sistem direkt olarak giriş sayfasına yönlendirecektir. Aşağıdaki if şartıyla durumu anlatabiliriz, session ile girilmesi gereken her web sayfasının başında aşağıdaki kontrolü yapmalıyız.
if ($_SESSION["adisoyadi"]=="")
{
//Oturum değişkeninin içeriği boş, direkt anasayfaya yönlendirme kodları
// bu kısma gelecek.
}
Oturumu kullanıcı sonlandırmak isterse, yani menülerden "Sistemden Çıkış" ya da "Oturumu Kapat" gibi bir seçeneği seçtiğinde, SESSION değişkenlerinin içeriğini biz boşaltmalıyız. Aşağıda bu işlemi yapmak için gerekli kodlar, 2 satırda işlemi tamamlıyoruz.
session_unset(); // tüm session değişkenlerini hafızdan kaldırır.
session_destroy(); // sessionu tamamen bitirir.
Şimdilik anlatımlar bu kadar, gerekli olan komutları ve kullanımlarını öğrendik, gelecek yazımızda detaylı bir örnek ile anlatacağız.
İyi çalışmalar dilerim.
Oğuzhan TAŞ
Ocak 2015
KAYNAKLAR
PHP Session Kavramı
http://www.w3schools.com/php/php_sessions.asp
PHP Session Kütüphanesi
http://php.net/manual/tr/book.session.php
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?