Session nedir?
Session ın kelime anlamı oturumdur. Anlamınıda karşılamaktadır. Aslında Browserımızı açarak bir web sunucusuna bağlanmak istediğimizde, açtığımız sayfa için bize bir oturum id si verilir. Bunun nedeni sunucu ile aramızda sürekli bir TCP/IP protokolü bulunmaz bu kaynak yönetimi açısından avantajdır fakat istemciler(kullanıcılar) herhangi bir sitede hangi aşamada kaldığını bilmek isteyecekleri için oturum yönetim(session menagemet) sistemi geliştirilmistir ve her explorer sayfası açıldığında istemciye bir oturum id si verilmiştir. Diyelimki browser programımızı açtık ve bir web sunucusuna bağlanmak istedik,sitenin ana sayfasına bağlandık ve herhangi bir linke yeni bir pencerede aç komutu verdik açılan pencereninde oturum id si ilk açtığımız pencere ile aynıdır.[...]
Session nerelerde kullanılır?
Aslında bu sizin hayal gücünüzle sınırlı, genel bir yaklaşım olarak şöyle ifade edebiliriz. Her kullanıcınıza yada siteye giren her kişiye özel bir alan,kişiselleştirlmiş bir site sunmakta kullanılır. En çok kullanıldığı yerler ise kullanıcı,üye tanımlama modülleri,alışveriş sepetleridir. Örnek vermek gerekirse bir e-ticaret sitesine girdiğimizde otomatik olarak bir oturum id si (php ile bu id ye PHPSESSID sabitini kullanarak erişebiliriz.)alacağız ve php ile bu idye erişilerek tüm yaptığınız alışverişler bu id ile tanımlanacaktır. Yani diyelimki 2 ürünü sepete attık. İki ürününde istek idsi sizin oturum id nizdir. Bu derste basit bir kullanıcı algılama sistemini temellerini göreceğiz. Tabi gelişmiş bir kullanıcı tanımlama sisteminde session'ın yanında cookielerede ihtiyaç vardır.
Session nasıl kullanılır?
Öncelikle bir oturum başlatmamız gerekiyor Bunu aşağıdaki code penceresindeki komut ile yaparız. oturum başlatılırken dikkat edilmesi gereken bir nokta vardır. session_start() komutundan önce hiçbir html başlık verisi gitmemiş olmalıdır. Bunuda sayfamızda html tagından önce session_start() komutu kullanarak yapabiliriz.
CODE:
<?
session_start();
/* Bu komut kullanıldığında oturuma kayıt edilen
değişkenleri geçerli sayfada kullanabiliriz.*/
?>
Diyelimki bir form dan verileri aldık. Sonra bu verilerin doğruluğunu kontrol ederiz eğer veriler doğru ise oturm değişkenini kayıt ederiz.
örneğin
CODE:
<?
$name = "can";
$password "1234";
//bu değişkenler formdan bu sayfaya gönderilmeli.
if($name == "can" && $password == "1234")
{
session_register("name");
/*name değişkenini oturum değişkeni olarak kayıt ettik.
Bundan sonra ki sadece oturum açan kullanıcıların
görebileceği sayfaları $name değişkenine göre sorgulayacağız.*/
header("location:/kullanıcıyaozel.php");
}
else
{
echo "kullanıcı adınız ve şifreniz yanlış.";
}
?>
Eğer daha önceden can isimli kullanıcı kayıt oldu ise yani veri tabanında bilgileri mevcutsa yukarıdaki kodda yapmanız gereken can stringi yerine veritabanı sorgusundan gelen isim alanına ait değişkeni 1234 stringi yerinede şifre alanına ait değişkeni yazmanız gerekirdi.
Şimdi de sadece üyelerinizin erişim hakkı olan sayfaları nasıl yapacağımıza gelelim.
CODE:
<?
//name session değişkeni reğister(kayıt)edilmişmi? kontrol ederiz.
if(session_is_registered("name"))
{
//$name değişkeni kayıtlı ise...
echo "<html>";
echo "<head>";
echo "</head>";
echo "<body>";
echo "Burası sayfanız";
echo "</body>"
echo "</html>";
}
else
{
header("location:/form_sayfası.php");
/* eğer kullanıcı şifresi doğru değilse kullanıcı adı ve parolası
girilen sayfaya gönderiyoruz.*/
}
?>
Session değişkenini silmek gerekebilir.Örneğin admin olarak siteye giriş yaptınız ve oturum yönetimi sessionla sağlanıyor güvenlik açısından oturumu kapamanız gerekir. Bunun için kullandığımız komutlar şunlardır.
CODE:
<?
session_unregister("name"); // bu komut ile session değişkenini silebiriz.
session_unset(); //komutu ile tüm oturum değişkenlerini sileriz.
session_destroy(); //komutu ile oturmu yok ederiz.
?>
session da bukardar...
Dia
okanatabag@gmail.com
6 Aralik 2005 19:36