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

*#0228# Quick Start ne işe yarıyor (1) *#0228# quick start (1) .NET (1) .nomedia (1) .torrent uzantılı (1) 8 mart nedir (1) Battle Royale 0xc000007b hatası (1) Bedelli askerlik (1) Beyaz Ekran Sorunu (2) Blog güncellemeleri (1) Bu ağa bağlanamıyor (1) Bu öğe bulunamadı (1) Call of Duty (1) Cd key already in use (1) DNS (1) DNS adresleri (1) DNS listesi (1) Dosya Şifreleme (1) En Hızlı DNS (1) English Proverbs (1) FIFA 18 (1) FIFA 18 DirectX Function Sorunu (1) FM 2018 (1) Facebook Hesabım kapatıldı (1) Football Manager 2018 (1) Fortnite (1) Fortnite Battle Royale (1) GTA 5 (2) GTA 5 Açılmama Sorunu (1) GTA 5 yükleme Sorunu (1) GTA v donma sorunu (1) Google (9) Gta 5 Online bağlantı sorunu (1) Hata Kodu: -130 Sayfa yüklenemedi (bilinmeyen hata) (1) Hayat Hikayesi (1) Ingilizce fillerin 2. ve 3. halleri (1) Kamera Sorunu (2) Kilo Almak icin (1) MSVCR100.DLL (1) Masterchef (1) Masterchef Türkiye (1) Mazda 3 2018 (1) Mukemmel Sayı (1) Mustafa (1) Need For Speed Payback (1) Need For Speed The Run (1) Need for Speed (5) Need for Speed hatası (1) PES 2017 PES 2018 (1) PLAYERUNKNOWN'S BATTLEGROUNDS (1) QR Kod Nedir (1) RISK: Global Domination (1) Seditio eklenti (4) Serel Yereli (1) Sevgili (2) Toyota Auris (2) Trackmania Nations Forever (1) a/an ve the Kullanımı (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 yazıları (1) ayrılık şiirleri (1) ayrılıkla ilgili (1) açamıyorum (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ğlanılamıyor windows 8 (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) ders notu (1) deyimler (2) disk temizleme (1) dll (2) dll dosyası (1) dll hatası (2) dns ayarları (3) dosya gizleme (1) dosya silinmiyor (1) dowland (1) dünya kadınlar günü (1) e-devlet (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ıma ulaşamıyorum (1) facebook neden açılmıyor (1) facebookta bakım (1) facede profiline kimler bakmış (1) filtrenize göre iş bulunmuyor (1) fiyat listesi (1) fiyatı ne kadar (1) giremiyorum (1) google güvenlik (1) google hatası (1) gta v kasma sorunu (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) güncelleme (2) güncelleme duraklatıldı (1) haberi (1) haberleri (3) hack (2) happy new year (1) hata veriyor (1) hatası (3) hatchback (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) 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) kilitleniyor (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) kız arkadaş (1) kız arkadaşı (1) kız tavlama (1) library (1) mantığı nedir (1) mazda 3 inceleme (1) mp3 (4) mp3 açılımı nedir (1) mükemmel sayı nedir (1) müslüm gürses kimdir (1) nasıl (23) 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) nasıl çalışır (3) 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) nfs (5) nfs hot pursuit (2) nfs the run (1) niye (8) niçin (1) oyun (30) oyun hilesi (1) pes 2011 (1) philips tv (1) php (4) porna (1) programı (3) pugb (3) resimleri (1) s-voice dil değiştirme (1) s6 özellikleri (1) samsung (10) seditio (6) sevgilim (1) sevk tarihi ne demek (1) sistem gereksinimleri (4) sorun (3) sorun çözümü (27) sorunları (1) sorunu (8) sosyal medya (5) steam (9) steam hatası (4) strike nedir (1) sözleri (4) tavsiye android uygulamaları (1) tavsiye edilen android uygulamaları (1) teknoloji (2) telefon (18) the game malfunctioned hatası (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) Çözümü (8) çalışma prensibi (1) çalışmayı durdurdu (2) çalışmıyor (2) çalıştırma (1) çözüldü (1) çözüm (5) örnek proje (1) örneği (1) özellikleri (2) öğe bulunamadı hatası konumunu doğrulayıp yeniden deneyin win 10 (1) şarj sorunu (1)