Ana Sayfa   -   Forum   -   Dersler   -   Dosyalar   -   Kaynak Siteler   -   E - Kitaplar   -   Etiketler

Php'de session ile oturum yönetimi
Ana Sayfa / Makaleler / Php | 0 Yorum | 465 Okuma
Gönderen: altayalp | Tarih: 07 Nisan 2008 Pazartesi
Sessionlar php'de oturum yönetimi için kullanılırlar. Oturumlar ise ziyaretçiyi takip etmek başka sayfalara veri aktarmak için kullanılırlar. Sessionu en çok kullandığımız yerlerden birisi de üyelik sistemleridir. Ziyaretçi üye girişi yapmışsa ona bir oturum değişkeni atarız ve bu değişkenin varlığına göre üye girişi yapıp yapmadığını anlayabiliriz. Böylece ziyaretçinin istediğimiz alanlara girmesini yada girmemesini sağlayabiliriz. Session oturum ile ilgili verileri server ortamında saklar ve veriler server ortamından okunur. Ziyaretçinin bilgisayarına hiç bir veri gönderilmez ve tarayıcı kapatıldığında sessionlar otomatik olarak silinirler. Yani oturum sonlandırılır. Bir oturum işlemi şu aşamalardan oluşur:

Öncelikle bir oturum başlatırız ve bu oturuma özel bir numara (session id) atanır.
Bu id ile aynı adı taşıyan bir dosya sunucuda oluşturulur.
Oturum boyunca verilere bu dosyadan erişilir.
Ziyaretçi siteden ayrıldığında dosya silinir ve oturum sonlandırılır.

Bir oturum başlatmak için:


PHP:
session_start();

fonksiyonunu kullanırız. Bu fonksiyon sayfanın en üstünde yer almalı. Yoksa hata mesajı ile karşılaşırsınız. session_start() fonksiyonu öncelikle bir oturum açılmışmı diye bakar eğer açılmışsa oturumu devam ettirir. Eğer bir oturum yoksa yeni bir tane başlatır. Başlatılmış bir oturumun id'sine erişmek için:



PHP:
session_id();


fonksiyonunu kullanırız. Bu fonksiyon ile başlatılan oturumun id'sini elde ederiz. Bir oturum değişkenini şu şekilde oluşturabiliriz:


PHP:
<?php
$_SESSION
['sessionunadi'] = "değer";
?>


sessionunadi şeklinde başlattığımız oturumun adını ve değer şeklinde de taşıyacağı değeri belirtiyoruz.

Basit bir oturum örneği oluşturalım:



PHP:
<?php
session_start
();
$_SESSION['ad'] = "altayalp";
echo
'Adınız: '.$_SESSION['ad'].'';
?>
<a href="sayfa2.php">2. Sayfaya Devam Edin</a>


Yukarıda verdiğim kodları sayfa1.php adıyla kaydedin. Sayfayı çağırdığınızda ekranda "Adınız: altayalp" yazacak. Oturumu başlattık oturum değişkeni oluşturduk ve oturum değişkenini ekrana yazdırdık. sayfa2.php de oturumun devam etmesi için yine session_start() fonksiyonunu sayfamızın en üstüne eklemeliyiz. Yoksa oturumumuz devam etmez ve sonlandırılır. sayfa2.php:



PHP:
<?php
session_start
();
echo
'Adınız: '.$_SESSION['ad'].'<br />';
echo
'başlatılan oturumun idsi:' . session_id();
?>


Çıktı olarak tekrardan "Adınız: altayalp" ve açılan oturumun numarasını alırsınız. sayfa2.php sayfamızda hiç bir değişken oluşturmadığımız halde $_SESSION['ad'] oturum değişkenine erişebiliyoruz.

Oturum değişkeni kontrolü:

Oturum değişkenini kontrol etmek için, mesala ziyaretçi üye girişi yapmışmı şeklinde bir kontrol yapmak istiyoruz:



PHP:
<?php
if(isset($_SESSION['ad'])) {
echo
"sayfa1.php'ye giriş yapmışsınız";
} else {
echo
"oturum değişkeni bulunamadı lütfen sayfa1.php'ye giriş yapın";
}
?>


Oturum açılmışmı açılmamışmı bu şekilde kontrol edebiliriz.

Oturum değişkeninin silinmesi ve oturumun sonlandırılması:

Oturum değişkenlerini silmek için unset() fonksiyonunu, oturumu sonlandırmak için session_destroy() fonksiyonunu kullanırız.



PHP:
<?php
unset($_SESSION['ad'); // oturum değişkeni siliniyor
session_destroy(); // oturum sonlandırılıyor
?>

Bu kodları kaydedip çalıştırdığınızda ve daha sonra sayfa2.php'ye geri döndüğünüzde oturum değişkenine ulaşamadığınızı yani değişkenin silindiğini göreceksiniz. Eğer ilk sayfaya geri dönerseniz yeni bir oturum başlatılacaktır. Şimdilik bu kadar kolay gelsin.
[ Makaleyi İndir ] [ Yazıcı Görüntüsü ] [ Tavsiye Et ] [ Takibe Al ] [ Yorum Ekle ]
Bu sayfayı Paylaşın : del.icio.us | Furl | Digg | Technorati | Reddit | Google Bookmarks | Simpy
 
Bu Makaleye Hiç Yorum Yapılmamış


Makale Yazarı
Kullanıcı Adı: altayalp
Diğer Makaleleri ( 91 )
07 Nisan 2008 Pazartesi

Bu Kategoriye Yeni Makale Ekle

Üye Alanı
Toplam Üye: 2479
Üye Adı:
Şifre:
Yükleniyor
İşlem Yapılıyor Lütfen Bekleyin...
Şifremi Unuttum
Üye Olmak İçin Tıklayın

Çevrimiçi: 9 Ziyaretçi, 0 Üye Toplam 9 Kişi Bulunmakta

Dersler

Aklınıza Takılan Herhangi Bir Sorun Mu Var? Forumlarımızdan Yardım İsteyebilirsiniz...

Dersler.Org altyapı olarak kendi kodladığımız Enderûn İçerik Yönetim Sistemini kullanmaktadır.

Tüm AYYILDIZ sevdalılarına, Aziz ŞEHİTLERE, VATAN kutsaldır diyen yiğitlere ithaf olunmuştur.


© altayalp 2007 Her Hakkı Saklıdır
İzinsiz kullanılamaz. Enderûn İçerik Yönetim Sistemi
Çalmak, Çırpmak Haliyle Yasaktır
ve maalesef en iyi internet explorer ile izlenir
eXTReMe Tracker