twitter
Google Plus
tumblr
rss

Yorumlar Hakkında - Duyuru

Yorumlarda lütfen sallama da olsa bir isim yazın. "Adsız" olarak yazıyorsunuz, sonra birçok kişi adsız olarak birşey soruyor. cevap verirken "@adsız (15 ekim 13:08)'de yazan kişi" diye yazıyorum. Hoş olmuyor :) Eminim isminiz çok güzeldir deyip, sizi konuyla baş başa bırakıyorummm.

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

.dll (2) .NET (1) #googleplus (1) +1 butonu (1) 9gag (1) a ve an neye göre belirlenir (1) açıklama (2) Adsense (1) Adtech (1) Afrikalı zenci bir çocuğun bu şiiri (1) algorithm (1) antivirüs (1) Apaci (1) apple (4) arkadaş ekleme (1) Arkadaş-Sevgili Şiiri (1) Arkadaşın Olmayan Kişilerin Resimlerini Görmek (1) asus notebook menteşe kırıldı (1) aşk tesadüfleri sever (1) azize nur (1) bakmak (2) balcali hastanesi (1) basit (3) Basit Css Ornegi (1) basit örnek (3) bedava (2) bedava internete girmek (1) bilgisayar mühendisi (1) bilinçaltı (1) biyografisi (2) blogda değişiklikler (1) blogger kod çevirici (1) blogger temaları (1) blogspot için widgetler (1) boost hack (2) bot yapma (1) bozuk zil sesi (1) btk yasağı (1) c de fonksiyonlar (1) c programlama dili (1) C++ hesap makinesi kodları (1) c++ sayı tahmin oyunu (basit) (1) Cd key already in use (1) CD key değiştirme (1) counter strike cd key sorunu (1) crack (2) cs cd key değiştirme işlemi (1) Css dersleri (1) cyprus flights (1) cyprus travel (1) database (2) ders notu (1) developer (1) directtraveller (1) dns ayarları (1) doğum günü (1) dowland (1) download (12) e-ticaret (1) Eklentisi (18) ekran kararıyor (1) en son bölüm (1) engeli kaldırmak (1) english grammar (1) English Proverbs (1) error (1) Ezel dizisi (1) f8 konferansı (1) facebook (8) facebook giremiyorum (2) Facebook Hesabım kapatıldı (1) facebook hesabıma ulaşamıyorum (1) facebook istatistik (1) facebook neden açılmıyor (1) facebook tarzı (1) facede ilginç profil resmi (1) file_get_contents (1) film müzikleri (1) filmin konusu (1) flash etiket bulutu (1) Follower Bug (1) Friend Requests Blocked (1) full (3) galaxy s3 (2) galaxy s3 ayarları (1) galaxy s3 flash apk (1) galaxy s3 flash player (1) Galaxy S3 Zil Sesi Değiştirme (1) gau (1) girne amerikan (1) gizem doğan facebook (1) go to imageshack.us to register (1) Google (6) Google +1 buton (1) google plus (1) google projeleri (2) göğüslü (1) haberleri (3) hack (6) harici harddisk açılmıyor (1) Hayat Hikayesi (1) hepsiniseninicinyaptim.tumblr.com (1) Hesaba Ulaşılamıyor (1) hileleri (2) how to InnoDB (1) html alt satıra geçme kodu (1) html kod çeviriçi (1) html kodu (1) html5 (1) Ingilizce fillerin 2. ve 3. halleri (1) InnoDB (1) ilginç resimler (1) ilk apple bilgisayar (1) imhatimi (2) imhatimi.org (3) inci sözlük (1) ingilizce sözler (1) ingilizcede (1) iphone (2) iphone 5 (2) iş takip (1) iş takip programı (1) iş takip programı full (1) iş takip programı ücretsiz (1) iş takip programları (1) java (2) karakter sorunu (1) kıbrıs (2) kız arkadaş (1) kimdir (5) kimler oynuyor (3) klasör gizleme (1) kpss (1) kpss çalındı mı (1) kpss soruları (1) Marika Fruscio (1) Mark Zuckerberg (3) mp3 (4) mp3 kesme programı (1) msn hack (3) mysql (2) nasıl açılır (2) nasıl çalışır (3) nasıl kurulur (2) nasıl yapılır (4) nasil (3) ne (7) ne demek (11) ne işe yarar (10) ne zaman (9) neden (4) nedir (16) Need For Speed World Update Sorunu (1) nfs (3) nfs world (1) Nikola Tesla (1) no bra january (1) online izle (4) orucu bozan haller (1) öss (2) ösym (3) Photoshop dosyalarinda psd onizleme (1) php (4) programı (3) resimli anlatım (2) resmi (3) samsung (5) samsung galaxy s3 (4) samsung galaxy s3 sorunları (1) Samsung Galaxy S3 Zil Sesi Değiştirme (1) seditio (7) seditio corehacks (1) seditio destek sitesi (1) Seditio eklenti (4) Seditio Flash Etiket Bulutu (2) seo (1) seo nedir (1) serial (4) sistem gereksinimleri (3) sorunu (8) sözler (2) sözleri (4) sql server 2008 kurulumu (1) Steve Jobs (2) Steve Jobs kimdir (1) survivor taner (1) şiirleri (2) şişmanlama (1) şuuraltı mesajları (1) tavsiye (3) telefon (7) torrent (3) troubleshoot3r (2) troubleshooter (28) türkçe (3) Türkçe Altyazı (1) twitter (2) utf-8 (2) virüs bulaştı (1) web tasarım (1) web tasarım adana (1) windows 7 (3) Yılmaz ilker şahin (2) zend framework (1)