Programalama > PHP

Etiketler: php, ile, oturum, yönetimi......

Ort. 0
Puan ver:
PHP ile Oturum Yönetimi

Oturum yönetimini genelde ziyaretçi siteye geldiğinde ona bir kimlik atayıp yaptığı işlemlerin kontrol edildiği bir sistem olarak görebiliriz. Online shop sistemlerinde şipariş esnasına kadar olan işlemlerden tutunda üyelik sistemini kullanan bir siteye kadar kullanılabilir. Ziyaretçi sitede sayfalar arasında dolaşırken 3 şekilde takip edilir. Birincisi kullanıcıya rasgele bir değer verip url hanesinden iletimi yani "index.php?ziyaretci=gdfg8787df7gdf" gibi olabilir. İkinci olarak session (oturum) atanabilir. Bu sayede kullanıcı siteye geldiğinde ona birnevi kimlik numarası atanır ve bunu istediğimizde değiştirebiliriz. Üçüncüsü ise cookie (kuki) kullanmaktır. ziyaretçinin bilgisayarına browser yoluyla kuki dosyayı atarak işlemlerimizde bu dosyayı okuyarak kullanıcıyı tanıyabiliriz.

Session

http://www.php.net adresinden en son sürüm php binary dosyası PHP V4.0.6 kullandığımızı varsayıyorum. Session ve bazı özellikler bazı php kaynak dosyasının derlenmesinde es geçilmiş olabilir. Öncelikle işlemlerimize başlamadan önce php.ini dosyasını açalım ve "session.save_path = /tmp" değişkeni bu şekilde tanımlanmışsa windows işletim sistemi kullanıyorsak session dosyalarının yazılması için c:\tmp dizini oluşturmamız yeterli. şimdi basit bir örnek yapalım 



--------------------------------------------------------------------------------
<?php 

//session başlatalım 
session_start(); 

//session değişkeni kaydedelim 
session_register('sayac'); 

//session değişkeni olan sayac ın değerini artıralım 
$sayac++; 

echo("bu sayfayı $sayac. ziyaretiniz"); 

?> 


--------------------------------------------------------------------------------

Bu sekliyle bir session sayacı yapmış olduk. session_start() ile , istemci taraf için, yok ise bir session ID oluşturarak cookie olarak atanır. Bu session ID in degeri script içinde $PHPSESSID değişkeninin değeridir. session_register() fonksiyonu ile session değikeni üretir. Session değişkeni olup olmadığını kontrolü session_is_registered() fonksiyonuyla yapılır ve örneğimizdede olduğu gibi $sayac session değişkeni ürettik ve browres her açılışında bir artırdık bu değişkenin değerini istediğimiz gibi değiştirebiliriz. session_unset() fonksiyonuyla herhangi bir session değişkenini bitirebiliriz ve bu tur değişkenler çok ise hepsini bitirmek için session_destroy() fonksiyonu çağrılır. ikinci örneğimize geçelim. 


--------------------------------------------------------------------------------

<?php 
session_start(); 
//az önceki scriptimizden kalan sayac kalmışmı bakalım 
if(session_is_registered(sayac)) 
{ 
echo "sayac ile tanımlı session var"; 
} 
else 
{ 
echo "sayac ile tanımlı session yok"; 
//bizde tekrar oluşturalım 
session_register(sayac); 
} 
//mesaj session değişkeni 
session_register('mesaj'); 
$mesaj="Merhaba Dünya"; 

$sayac++; 
echo("<br> $mesaj <br> $sayac <br>"); 

//session ID değerini url yoluylada iletebilirsiniz 
?> 
<a href="<?echo$PHP_SELF?>?PHPSESSID=<?echo$PHPSESSID?>">Devam</a>




--------------------------------------------------------------------------------
Session kullanımlarıyla ilgi olarak örneklerinizi çoğaltabilirsiniz. Ayrıca daha bir çok session fonksiyonları ve kullanım şekillerde var. bunun için Php manual fonksiyon listesine ve yorumlara bakabilirsiniz.http://www.php.net/manual/en/ 
Cookies 

Cookies, sunucu tarafından gönderilen bilgilerin browser aracılıyla kullanıcı bilgisayarında cookie'ler için ayrılmış bir dosyaya yazdırmakla olur. Cookie kullanarak sitemizde üyelik sistemide oluşturabiliriz önemli olan kullanıcının bilgisayarına herhangi bir rasgele değer üretip yollamak ve bu değeri örneğin databasenize yazarak güvenli bir bağ kurabilirsiniz. Böylece kullanıcının parola gibi gizli bilgileri cookie olarak atmamş olursunuz. PHP, cookie işlemleri için setcookie() fonksiyonunu kullanır. Bu fonksiyon 6 adet parametre kullanır. 

setcookie (cookie_ismi, değer, bitimi, yol, alan, güvenlik)








Buradaki paremetreler: cookie_ismi -> cookie tanımladığımız isim, deger -> cookie değeri, bitimi -> cookienin geçerlilik süresi hiç yazmazsanız browser kapanana kadar, yol -> '/' olarak girersek bütün site, alan -> örnek '.duzgun.com' , güvenlik -> '1' sadece güvenli iletişimlerde cookie kullan yada '0' ise her zaman kullanabilirsin. şimdi cookie kullanımını kapsayacak bir örnek yapalım.


--------------------------------------------------------------------------------

<?php 

//oluşturulacak cookie adını girelim 
$cookie_adi = "id"; 

//rasgele sayı üretecini harekete geçir 
srand((double)microtime()*1000000); 

$deger = rand(); 
//$deger = md5 (uniqid (rand())); 

//cookieyi gönder 
setcookie($cookie_adi,$deger,time()+14400,'/'); 

//$HTTP_COOKIE_VARS[$cookie_adi] ile cookie'yi oku 
echo $cookie_adi."<br>".$HTTP_COOKIE_VARS[$cookie_adi]; 

?> 


--------------------------------------------------------------------------------

Bu tür örnekleri kendiniz çoğaltabilirsiniz.


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.