twitter
Google Plus
tumblr
rss

23 Ekim 2010 Cumartesi

PHP de Oturum (Session) Yonetimi

HP'de Oturum (Session) Yönetimi

PHP'nin olmazsa olmazı nerdeyse her php ile kodlanan sayfada bulunan oturum (session) yönetimi hakkında sizlere bilgi vereceğim. PHP'de 5 tane oturum yönetimi fonksiyonu vardır. Bu oturum yönetim fonksiyonları ve dökümantasyon bağlantıları :
session_start()
session_register()
session_is_registered()
session_unregister()
session_destroy()

Şimdi bunların anlatımına geçelim :

session_start()


Bu fonksiyonu oturumları kullanıcağımız her sayfanın başında belirtmeliyiz. Bu fonksiyon kullanıcı ilk defa giriyorsa kullanıcı için serverda bir dosya yaratır ve kullanıma hazırlar. Eğer daha önce girmişse onu kullanmaya hazırlar sadece. Her kullanıcı için uzun bir kod üretir. Bu kod sayılardan ve harflerden oluşur.

session_start();


Eğer php.ini dosyasında otomatik olarak oturum başlatma seçeneği aktif değilse bu işlemi yapmak zorundayız. Oturum fonksiyonları eğer bir oturum açılmamışsa (session_start) hata verecektir. Her sayfanızın başında bu fonksiyonu çağırarak bu sorunu rahatlikla çözebilirsiniz. Öneri olarak, her sayfanızda çalıştırdığınız (include) sayfanız varsa bu sayfaya ekleyin.


session_register()


Sunucuda sizin için açılmış olan dosyaya bir değer yazar. Aynı cookie gibi işler ancak dosyalar zamana göre silinmez, kullanıcı oturumunu kapatınca silinirler. Kullanıcının oturum kapatması ise, o andaki tarayıcı programının oturumu kapatması ile olur. Çoğu tarayıcı, oturumunu tüm pencereleri kapandığı zaman kapatmış olur.


$isim = "TRouBLeSHooTeR";
session_register("isim");

$isim değerini nazim olarak atayıp sonra da oturumumuza kaydettik.

Oturum değişkenleri ve değerleri cookie'ler gibi bir dizide tutulur. $_SESSION ($HTTP_SESSION_VARS) dizisidir. Bu dizinin normal bir diziden hiçbir farkı yoktur. Atamaları da buna benzer bir teknik ile yapabiliriz.



session_register("isim");
$_SESSION["isim"] = "TRouBLeSHooTeR";


Önce $isim diye bir oturum bilgisi yaratıp sonra bilgiyi güncelledik.


session_is_registered()


Bir oturumun kayıtlı olup olmadığını veya bir oturum değişkeninin kaydedilip edilmediğini öğrenmemize yaran bir fonksiyondur.


if( session_is_registered("isim") ){
echo "isim oturumu kayıtlı";
}else{
echo "isim oturumu kayıtlı degil";
}


"isim" oturumunun kayıtlı olup olmadığına bakar.


session_unregister()


Kaydettiğiniz bir oturum değişkenini silmek için kullanılır.


session_unregister("isim");


Daha önce oluşturduğumuz isim adlı oturum bilgisini siler.


session_destroy()


Kayıtlı olan tüm oturum bilgilerini yok eder.


session_destroy();


Geçerli olan tüm oturum verilerini yok eder.


Şimdi ufak bir uygulama yapalım :

Giriş/Çıkış İşlemi



Günümüzde neredeyse her sitede bi üyelik sistemi var (forumu veya interaktif hizmeti olmamasina rağmen), bence çoğu site için gereksiz.
Basitçe bir giriş/çıkış sistemi yapalım. Bu iş için giris.php, cikis.php, index.php dosyalarimiz olacak.


<form action="giris.php" method="post">

<input type="text" name="ad">

<input type="submit" value="Giris">

</form>


Basit bir index sayfamız var. Burada giriş formu var. Bunu sitenizin istediğiniz köşesine koyabilirsiniz.
Ziyaretçi adını girip Giris'e tıkladığı zaman giris.php dosyasına post edilecek.


<?php

// bilgiyi alalim

$ad = $_POST["ad"];


// oturum baslatalim

session_start();

// giris kontorl degiskeni tanimlayalim

$giris = true;
// ve degiskenleri kaydedelim

session_register('ad');

session_register('giris');


// giris tamamlandi, anasayfaya gonderelim

header("location:index.php");


?>


Şimdi ansayfamizi gelistirmemiz gerek. Giriş yapmış ziyaretçilere hitap eden kısımları küçük bir sargı ile çevreleyeceğiz.


<?

// oturumu baslatalim

sesion_start();

// giris bilgilerini alalim.

$giris = $_SESSION["giris"];

$ad = $_SESSION["ad"];

// giris kontorlu yapalim

// giris yapilmis ise $giris true olmali

if( $giris ){

// giris yapilmis hosgeldin..

print 'Hoşgeldin ' . $ad . '<br>

<a href="cikis.php">Cikis</a>';

}else{

// giris yapilmamis giris formu yazdiralim

print '<form action="giris.php" method="post">

<input type="text" name="ad">

<input type="submit" value="Giris">

</form>';
}
?>


İşte oldu, anasayfamız giriş kontorlu yaparak kullanıcı daha önce giriş yapmışsa tanıyor.

Çıkış dosyamız ise çok basit. oturumu öldürecek.


<?
// oturumu baslatalim

session_start();

// oturumu oldurelim

session_destroy();

// ansayfaya gidelim

header("location:index.php");

?>


0 yorum:

Yorumlar Hakkında:


Yorum yapmaktan çekinmeyin, Yorumlar hem benim için teşvik, sizin içinde kendinizi ifade edebileceğiniz bir ortam! İyi veya kötü her türlü yoruma açığım. Ha bu arada unutmadan, yaptığınız yorumda bana cevap vermemi beklediğiniz birşey yazdıysanız, lütfen verdiğim cevabı okumak için 1-2 içinde blogumu tekrar kontrol edin.

Yorum Gönder

Etiketgiller

.NET (1) .nomedia (1) .torrent uzantılı (1) *#0228# quick start (1) *#0228# Quick Start ne işe yarıyor (1) 8 mart nedir (1) a/an ve the Kullanımı (1) açamıyorum (1) android dns adresi değiştirme (1) android dosya gizleme hesap makinesi (1) android gizli klasör (1) android market (2) android porno (1) android yasakli site acma programi (1) arkadaş ekleme (1) ayrılık şiirleri (1) ayrılık yazıları (1) ayrılıkla ilgili (1) Battle Royale 0xc000007b hatası (1) Bedelli askerlik (1) Beyaz Ekran Sorunu (2) Blog güncellemeleri (1) blog tema değişimi (2) bowling oyunları (1) bowling skor (1) bowling strike (1) bowlingde skor (1) bozuluyor (1) Bu ağa bağlanamıyor (1) bu ağa bağlanılamıyor windows 8 (1) Bu öğe bulunamadı (1) Call of Duty (1) Cd key already in use (1) clash royale (1) clash royale deste (1) core_ets2mp.dll Hatası (1) counter strike cd key sorunu (1) cs 1.6 (1) cs cd key değiştirme işlemi (1) çalışma prensibi (1) çalışmayı durdurdu (2) çalışmıyor (2) çalıştırma (1) çözüldü (1) çözüm (5) Çözümü (8) ders notu (1) deyimler (2) disk temizleme (1) dll (2) dll dosyası (1) dll hatası (2) DNS (1) DNS adresleri (1) dns ayarları (3) DNS listesi (1) dosya gizleme (1) dosya silinmiyor (1) Dosya Şifreleme (1) dowland (1) dünya kadınlar günü (1) e-devlet (1) En Hızlı DNS (1) English Proverbs (1) ets 2 hava basıncı sorunu (1) ets2 (3) ets2 düşük hava basıncı (1) euro truck simulator 2 (2) euro truck simulator 2 multiplayer (1) face hackleme (1) facebook filmi (1) facebook giremiyorum (3) Facebook Hesabım kapatıldı (1) facebook hesabıma ulaşamıyorum (1) facebook neden açılmıyor (1) facebookta bakım (1) facede profiline kimler bakmış (1) FIFA 18 (1) FIFA 18 DirectX Function Sorunu (1) filtrenize göre iş bulunmuyor (1) fiyat listesi (1) fiyatı ne kadar (1) FM 2018 (1) Football Manager 2018 (1) Fortnite (1) Fortnite Battle Royale (1) giremiyorum (1) Google (9) google güvenlik (1) google hatası (1) göremiyorum (1) görünmesin (1) gösterimi (1) göstermek (1) göstermiyor (2) gözükmesin (1) gözükmesini engellemek (1) GTA 5 (2) GTA 5 Açılmama Sorunu (1) Gta 5 Online bağlantı sorunu (1) GTA 5 yükleme Sorunu (1) GTA v donma sorunu (1) gta v kasma sorunu (1) güncelleme (2) güncelleme duraklatıldı (1) haberi (1) haberleri (3) hack (2) happy new year (1) Hata Kodu: -130 Sayfa yüklenemedi (bilinmeyen hata) (1) hata veriyor (1) hatası (3) hatchback (1) Hayat Hikayesi (1) Ingilizce fillerin 2. ve 3. halleri (1) ie7 (1) ie8 (1) ilginç (1) ilişki durumu (1) ilk kim (1) inanılmaz evlenme teklifi (1) inceleme (5) indir (9) indirim kodu (1) ingilizce ders (1) ingilizce sözler (1) instagram (5) instagram durduruldu (1) instagram geçiçi olarak engellendin (1) instagram güncelleme (1) instagram hatası (1) internet explorer (1) ios (6) ios 11 (1) ios 11 şarj sorunu çözümü (1) istanbul (3) istatistikler (1) iş takip programı (1) javascript (1) kadın (1) kaldırır mı (1) Kamera Sorunu (2) kapandı (1) karakter problemi (1) karakter sorunu (1) kentsel dönüşüm (1) kentsel dönüşüm kira yardımı (1) kentsel dönüşüm laboratuvarı (1) kız arkadaş (1) kız arkadaşı (1) kız tavlama (1) kilitleniyor (1) Kilo Almak icin (1) kim 500 milyar ister (1) kim milyoner olmak ister (15) kimdir (10) klasör gizleme (1) komik resimler (1) korkunç (1) kredi hesaplama (1) kredi notu düşmeyen bankalar (1) kumanda (1) kurucusu kim (1) kurulumu (2) library (1) mantığı nedir (1) Masterchef (1) Masterchef Türkiye (1) Mazda 3 2018 (1) mazda 3 inceleme (1) mp3 (4) mp3 açılımı nedir (1) MSVCR100.DLL (1) Mukemmel Sayı (1) Mustafa (1) mükemmel sayı nedir (1) müslüm gürses kimdir (1) nasıl (23) nasıl çalışır (3) nasıl girerim (1) nasıl gizlenir (1) nasıl kaldırılır (1) nasıl kapatılır (1) nasıl oynanır (1) nasıl silinir (1) nasıl yaparım (6) ne (7) ne demek (11) ne işe yarar (10) ne kadar (1) ne zaman (11) ne zaman kuruldu (1) neden (4) neden açılmıyor (1) neden hata veriyor (1) Need for Speed (5) Need for Speed hatası (1) Need For Speed Payback (1) Need For Speed The Run (1) nfs (5) nfs hot pursuit (2) nfs the run (1) niçin (1) niye (8) oyun (30) oyun hilesi (1) öğe bulunamadı hatası konumunu doğrulayıp yeniden deneyin win 10 (1) örneği (1) örnek proje (1) özellikleri (2) pes 2011 (1) PES 2017 PES 2018 (1) philips tv (1) php (4) PLAYERUNKNOWN'S BATTLEGROUNDS (1) porna (1) programı (3) pugb (3) QR Kod Nedir (1) resimleri (1) RISK: Global Domination (1) s-voice dil değiştirme (1) s6 özellikleri (1) samsung (10) seditio (6) Seditio eklenti (4) Serel Yereli (1) Sevgili (2) sevgilim (1) sevk tarihi ne demek (1) sistem gereksinimleri (4) sorun (3) sorun çözümü (27) sorunları (1) sorunu (8) sosyal medya (5) sözleri (4) steam (9) steam hatası (4) strike nedir (1) şarj sorunu (1) tavsiye android uygulamaları (1) tavsiye edilen android uygulamaları (1) teknoloji (2) telefon (18) the game malfunctioned hatası (1) Toyota Auris (2) Trackmania Nations Forever (1) troubleshoot3r (2) troubleshooter (21) truckersMP (1) türkçe (3) türkçe yama (2) update (2) update hatası (1) video (3) videoları (2) web dizayn (1) web tasarım (1) web tasarım adana (1) win 10 (1) win10 (3) win7 (4) windows (7) windows 10 (6) windows 7 (5) xinput1_3.dll (1) yasaklı sitelere girmek (2) zaman (1)