php ile login classı denemesi

Düşündüm düşündüm ve karar verdim : spagetti kod ile nereye kadar?
Yaklışık 3 yıldır düzenli olarak php kod yazıyorum. Fakat bu yazdığım kodlar genellikle spagetti kod olarak adlandırdığımız şekilde yazıyorum. class kullanmak zaman ve mekan kavramlarından dolayı biraz uzak gelmişti her zaman. Ara sıra kariyer sayfalarına baktığımda da genelde OOP tabanlı projelerde çalışacak programcı arıyorlar.

Not : Sakın yanlış anlaşılmasın bu iş aradığım anlamına gelmiyor. Şu anki yerimden son derece memnunum. Sadece piyasanın nabzını yoklamak amaçlı bakıyoyorum :)

Bunun sonucu olarak da ilk class'ımı yazmaya karar verdim. Fakat yazdığım class yani login class'ı piyasada bolca bulunabilecek bir class. Fakat hani bir masal vardır ve her anlatan kendinden bir şeyler ekler ya benimki de öyle bir şey işte. Kendimden bir şeyler katmak istedim sadece..

Dosyalara buradan ulaşabilirsiniz.

Önceki yazılarımda da hep yaptığımı yapcağım. İş akışını anlatacağım. Satır satır kod anlatmakk pek mantıklı geleceğini düşünmüyoru. Zaten kodlarımın arasında comment satırları mevcut. Dileyen olursa mail atabilir ya da yorum yazabilir. Onlara en kısa zamanda yanıt veririm.

Class'ı 2 işlevli halde yazdım. Bir kişi login olduğun da login_check() fonksiyonu ile db'den kullanıcının kaydı var mı diye kontrol ediyor. Eğer yoksa login.php'ye tekrar yönleniyor. Varsa update_login_time($v_user_id) fonksiyonu ile kullanıcının son update time'ını update ediyor. Daha sonra locate("index.php") fonksiyonu ile hangi sayfaya yönlendirmek istiyorsanız o sayfaya yönlendiriyorsunuz.

Eğer kullanıcı login olmuşsa ve diğer sayfalarda bir gezintiye çıkmışsa her sayfada kişinin session'ı ve session_time'ı kontrol ediliyor. Böylece eğer kişi belli bir süreyi aşmışsa session kill ediliyor. Bu süreyi public olarak ayarlardım ve dışardan belirlenebiliyor.  sess_check() fonksiyonu ise adından da anlaşılacağı gibi kullanıcının sessionunu check ediyor.

Dileyen istediği gibi kodları geliştirebilir. Zaten her zaman yaptığım gibi görsel kısımlara fazla önem vermedim. Derine inmeden olayın mantığını anlatacak ve temel görevleri yapacak şekilde tasarladım.
İyi çalışmalar..

6 Comments so far

  1. davut on Şubat 16th, 2009

    oop rahat geliştirilebilir ve rahat genişletilebilir uylamalar yapmak için bire bir parmaklarına sağlık:D

  2. Ahmet on Şubat 16th, 2009

    ellerine yüreğine sağlık, etrafta bolca da olsa bir tane olmasında hiçbir sakınca yoktur, belki senin kodların içine bakan kişi farklı bir kullanım tarzını öğrenmiş olur.

    Devam :)

  3. Yucel on Şubat 23rd, 2009

    Kodlari kendi makinamda calistirmayi denedim ama bir tepki gelmiyor nedense biraz kurcalamama ragmen calistiramadim nedense.

  4. admin on Şubat 23rd, 2009

    hmm açıkçası görmeden bi şey diyemeyeceğim
    sadece yapacakların hakkında fikir söyleyebilirm.
    db'yi atmış olduğunu düşübnüyorum. bir de firebug kullanırsan hatayı göreceğini düşünüyorum

  5. Yucel on Şubat 23rd, 2009

    @admin
    database degistirilmeden oncede calistiramamistim. zaten database ayni aslinda sadece onu mysql da tekrar yarattim. tepki vermiyor dedigimda yanlis kullanici adi da girsem dogrusunu da girsem hep ayni login.php sayfasina geri donuyorum.

  6. admin on Şubat 23rd, 2009

    evet doğru zaten ben sadece login olayını yaptım yani onu şekillendirmek ya da hangi sayfaya yönlendireceğinizi sizlere bıraktım.
    alert ile kullanıcı doğru mu girmiş yanlış mı girmiş yazdırıyorum
    js içerisinde de alert yerine yönlendirme yapılacak o kadar.
    location.href ile de bunu sağlayabilirsin

Leave a reply