PHP

PHP’de Session – Örnek Uygulama

Bir önceki yazımda PHP’de Session (Oturum Yönetimi)‘ı anlatmıştım. Şimdi session ile ilgili örnek bir uygulama yapalım.

Aşağıdaki kodlar giris.php sayfasında yer alan kodlardır. Bu sayfa ilk açıldığında session_start() fonksiyonu ile oturum başlatılıyor ve hemen arkasından ekrana giriş formu geliyor. Giriş formuna kullanıcı adı ve şifresiyi yazıp, Giriş Yap butonuna basınca formdan gelen değerler tanımlanan kullaniciadi ve kullanicisifresi  adlı oturumlara atanarak index.php sayfasına yönlendiriliyor.php_session_uygulama_girisphp

Aşağıdaki kodlar index.php sayfasında yer alan kodlardır. Bu sayfada oturum başlatma fonksiyonunu yazarak, if kontrolünde giris.php sayfasından gelen kullanıcı adı ve şifrenin doğruluğunu kontrol ederek ekrana Hoş geldiniz yazısını basıyoruz. Eğer giris.php sayfasından gelen bilgiler ile if kontrolündeki bilgiler aynı değilse tekrar giris.php sayfasına yönlendiriyoruz.

php_session_uygulama_indexphp

Aşağıdaki kodlar ozel_sayfa.php sayfasında yer alan kodlardır. index.php sayfasından bu sayfaya geçiş sağlanabilmesi için Özel Sayfa diye bir link vermiştik. Amacımız oturumumuzun diğer sayfalara geçişlerde de devam ettiğini göstermektir.

php_session_uygulama_ozelsayfaphp

Aşağıdaki kodlar cikis.php sayfasında yer alan kodlardır. Diğer sayfalara yer alan Çıkış Yap linkine tıkladığımızda aşağıdaki kodlar çalışarak oturum sonlandırılarak giris.php sayfasına yönlendirilir.

 

Kocaeli Üniversitesi Teknik Eğitim Fakültesi’nden Bilgisayar Öğretmenliği mezunu olan Fatih Çal, bilişim sektöründe 10 seneyi aşkın tecrübeye sahiptir. Başta web projeleri olmak üzere çeşitli projelerde ve kurumlarda çalışmıştır. Şuan Uluslararası Genç Derneği’nde Başkan Yardımcısı, Uluslararası Bilişim Teknolojileri Derneği’nde Yönetim Kurulu Üyesi ve İstanbul Medeniyet Üniversitesi Bilgi İşlem Daire Başkanlığında Sistem Yönetimi ve Yazılım Koordinatörü olarak görev almaktadır.
  • can can

    hocam güzel bir çalışma emeğinize saglık yanlız bu işlemi veri tabanımızdaki tablodan yapsak nasıl değiştiricez siz burda formun içinde vermişsiniz ben bunu md5 ile veri tabanından çekilerek gricek şekilde yapmak istiyorum fakat hata alıyorum

  • fevzi

    Merhaba hocam. Emeğinize sağlık güzel anlatım olmuş… Benim bir sorum olacak.

    Küçük bir yazılım yapıyorum ve bu yazılımda bir adminler birde diğer kullanıcılar olacak. sunucudaki uyeler tabloma statu diye bir satır ekledim. ve kayıt olan uyelere 0 degerini verdim burada 1 değerindekiler admin 0 değerindekiler diğer kullanıcılar oldu. Session sistemim çalışıyor kayıt olup giriş yapınca sayfaları kullanabiliyor tüm kullanıcılar. Burada benim yapmam gereken. 3 adet sayfaya sadece statu degerlerini 1 verdigim adminlerin girmesini saglamak diğer kullanıcıların girmesini engellemek. Yardımcı olursanız sevinirim. teşekkülrer iyi çalışmalar.

  • Teşekkürler Fevzi Bey,

    Yazmış olduğunuz sistemde kullanıcı verileri ile giriş yaptıktan sonra veritabanında bulunan statü değerlerini çektiğinizi söylemişsiniz. Statüye göre sayfaların sadece yetkililere görülmesini basit bir if komutu ile gerçekleştirebilirsiniz.

    Yukarıda örnek olarak verdiğim şu kod yerine;

    if($_SESSION[“kullaniciadi”] == “admin” && $_SESSION[“kullanicisifresi”] == “admin123”)

    Aşağıdaki gibi kod kullanarak statüsü 1 olan kişilerin görmesini sağlayabilirsiniz.

    if($_SESSION[“kullaniciadi”] == “admin” && $_SESSION[“kullanicisifresi”] == “admin123” && $_SESSION[“statu”] == 1)

    Daha detaylı bilgi ve yardım almak için [email protected] adresinden bana ulaşabilirsiniz.

  • Ömer Faruk GÜVEN

    Fatih bey merhaba;

    50 kullanıcılık çağrı merkezi yazılımında session yönetimi ile ilgili sorunlar yaşıyorum.

    Sistem benim ekrana çağırdığımve onuç atamak istediğim müşteriyi değil de, databaseden en son çağrılan
    müşterinin bilgilerini update ediyor.

    50 kullanıcı olduğu için herkes aynı anda müşteri çağırıp, görüşme sonucuna göre müşteriyi update ettiğinde, DB
    den son çağrılan kayıt hangisiyse, hepsi onu Update ediyor.
    Yardımlarınız için şimdiden tşkler, iyi geceler.

    Ekrana hiç aranmamış datayı çağırdıktan sonra , o data başka bir kişiye atanmasın diye hemen UPDATE
    ediyorum.

    if($abone=$db->get_row(“SELECT * FROM musteriler22 WHERE agent=0 and durum =0 AND atanma =0 and datatipi=1 LIMIT 1 “)){
    $db->query(“UPDATE musteriler22 SET durum=2,atanma=1,agent=$agid WHERE id=”.$abone->id.”” );

    Sonra bu datayı aradıktan sonra sonuçlandırdığında update ederken, session lar karışıyor,

    $_SESSION[“abone_id”] =$abone->id;

    $sql=”UPDATE musteriler22 SET
    adres='”.@$_POST[“adres”].”‘,
    aciklama='”.@$_POST[“bayi_notu”].”‘ ,
    sonuc='”.@$_POST[“dddurum”].”‘,
    sonuc_detay='”.@$detay.”‘
    $ss
    WHERE id=”.$_SESSION[“abone_id”].” ” ;

    Ekrana örneğin MÜŞTERİ ID si 100 olan kayıt gelmişse, update ederken gidip 101 nolu
    kaydı update ediyor.

    A kullanıcısının ekranında 100 nolu kayıt, B kullanıcısını ekranında 101 nolu
    kayıt varken, C kullanısıcı 102 yi çağırdığında, A ve B kullanıcılarının DURUMUNU GÜNCELLEDİKLERİ KAYIT ID
    de 102 oluyor.

  • Konu hakkındaki mailinizi aldım Ömer bey. Mail üzerinden dönüş yapıyorum.

  • giriş.php sayfası oluştururken css dosyalarını nasıl çekebiliriz