Tweet

PHP | Session Kullanımı

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

İlgili Olabilecek Makaleler


Yorumlar (5)





Asperih
19 Eylul 2008 10:04
Paylaşım için Teşekkur Ederim Arkadaşım


jrpowerslave
6 Mayis 2009 22:27
Yararlı bir kaynak Session değerlerini şu şekildede tanımlayabilirsiniz; ( PHP 4 ve Üzeri kullanıylorsanız )

<?

$_SESSION["kullanici"] = "jrpowerslave"; // yada

$deger = "jrpowerslave";
$_SESSION["kullanici"] = "$deger";

?>


onurtez
12 Agustos 2009 17:25
tam aradıgım sey buydu benım bı sorum olucak. ben bı kent portalı yazmaya calısıyorum ama daha cok yenıyım sımdı sorum su sekılde olucak
uyelerın kedı profıllerınızı duzenlıye bıldıgı bır sayfası var (sayfam.php) buraya ıd lerı ıle gırıs yapıyorlar
(sayfam.php?uye_no=26) gıbı ama soyle bır sorunum olucak ılerıde kullanıcılar kendı ıd sı 26 olsa bıle elıyle adres clugundan 39 yapsalar 39. id de kı kayıtlı uyelerın kaydına da erısmıs olucaklar.
bunun ıcın sessınon kullanmam sart ama nasıl yapıcam hakkında bı fıkrım yardımcı olursanız sevınırım


qwerty123408
29 Aralik 2009 23:49
if(!isset($_SESSION['kullanici'])){
?><script language='javascript'>location.replace('sayfam.php');</script><?
}
kullanıcı tanımlı değilse, bu şekilde geri gönderebilirsin


serhat.tkr
4 Ocak 2010 15:13
Anlatım için teşeşkkürler.. çok yararlı bir ders olmuş.

Ziyaretçi olarak yorum yazamazsınız. Üye olmak için tıklayın Üye iseniz giriş yapın.



MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg