PROJE GERÇEKLEŞTİRİM BELGESİ |
GEZGİN ( TÜRKİYE TURİZM REHBERİ )
CÜNEYT KOÇ
Proje Gerçekleştirim Belgesi
Yazılım Geliştirme Projesi
Bilgi Teknolojileri Sertifika Programı
İDEA: ODTÜ Sanal Kampüsü
Tarih 20 Haziran 2008
Öz:
Bu belgenin amacı projemizin gerçekleştirilmesi sırasında karşılaşılan sorunların ve bu sorunlara bulunan çözümlerin verilmesi, proje gerçekleştiriminde ortaya çıkan bileşenler ve bu bileşenlerin görevlerinin anlatılması, gerçekleştirim sonucunda ortaya çıkan yazılımdan alınan kesitlerin sunulması ve kullanıcı kılavuzunun ayrıntılı bir biçimde verilmesidir. Gerçekleştirim belgesi hazırlanırken daha önceden verilen analiz ve tasarım belgelerine mümkün olduğunca bağlı kalınmıştır.
Karşılaşılan Sorunlar ve Çözümler:
Projenin gerçekleştirimi sırasında projenin teklif , analiz ve tasarım belgelerinden saptıracak herhangi bir sorunla karşılaşılmamış olup sonuca başarılı bir şekilde ulaşılmıştır.
Proje gerçekleştirimi sırasında en büyük sorun olarak php kullanma tecrübem az olduğu için projenin ilk gerçekleştiriminin bazı bölümlerinde yardım alınmıştır. Bu yüzden proje iki kere gerçekleştirilmiş olup, ikinci gerçekleştirim tamamen php pekiştirmek amacıyla şahsım tarafından yapılmıştır.
Projede önemli sorun olarak resimlerin veritabanına yazdırılması sorunuyla karşılaşılmıştır. Bu sorun internet taraması sayesinde giderilmiştir. Resim dosyaları serverda bir klasör içine atılırken resimlerin yolu veritabanına yazdırılmıştır. Bu yolla resimlerin veritabanındaki yolları kullanılırken her kaydın resmine rahat bir şekilde ulaşılmıştır.
Projede sorun olarak bazen SQL hatalarıyla karşılaşılmış olup bu sorunların bazıları internette aranarak sebebi bulunmuş, bazıları ise kodlar tekrar gözden geçirilerek sorunlar aşılmıştır.
Yazılıma görsellik katmak amacıyla resimlerin java script ile gösterimini sağlamak için internetten hazır java kodları bulunarak yazılımda kullanılmıştır.
Yazılımın Bileşenleri ve Görevleri:
-Veritabanı Yapısı:
İller Tablosu:
İlçeler Tablosu:
Kayitlar Tablosu:
-Modül (Arayüz) Gerçekleştirim:
baglan.php
Sistemimizdeki veritabanı ile bağlantı kurması gereken modüllerimiz baglan.php ile veritabanı ile bağlantı kurmaktadır.
index.php
Sistemimizin ilk arayüzü index.php'dir. index.php de sistemde bulunan diğer modüllere ulaşımı sağlayan menümüz bulunmaktadır. Kullanıcı buradaki menüden seçimini yaparak sistemde bulunan istediği işlemi yapması için seçilen modüle yönlendirilmektedir. index.php'de ayrıyeten kullanıcıların sisteme giriş yapmalarını sağlayan giriş formu bulunmaktadır. Bu formdan kullanıcıdan kullanıcıadı ve şifresi alınarak post methoduyla bilgiler kontrol.php'ye gönderilmektedir. Eğer kullanıcı giriş yaptıysa index.php'de arayüzünde çıkış diye bir menü belirmektedir. Kullanıcı çıkış linkine tıkladığında cikis.php'ye yönlenerek çıkış işlemini yapmatadır. İndex.php'den ulaşacağımız modülleri tek tek incelemeye başlayalım.
kontrol.php
index.php'den alınan giriş bilgileri kontrol.php de işlenmektedir. kontrol.php'de ilk olarak baglan.php'ye bağlanılarak veritabanına bağlanılmaktadır. Sonra veritabanından kullanıcı bilgileri çekilerek alınan bilgilerle karşılaştırılmaktadır eğer alınan bilgilerle veritabanındaki bilgiler aynıysa giriş işlemi tamamlanılarak index.php'ye geri dönülmektedir. Eğer bilgiler veritabanı ile tutmuyorsa kullanıcı yanlış şifre mesajı almaktadır.
cikis.php
Kullanıcı index.php'den çıkış linkine tıkladığında cikis.php'ye yönlenerek güvenli bir şekilde çıkış işlemini tamamlamaktadır.
uyeol.php
uyeol.php ilk olarak baglan.php ile veritabanına bağlanmaktadır. uyeol.php modulümüzde bulunan formumuzda kullanıcılar kişisel bilgileri istenmektedir. bu bilgiler isim, soyisim, eposta, kullanıcıadı ve şifre kullanıcı formdan istenen bu bilgileri doldurarak sisteme üye olabileceklerdir. uyeol.php'de ilk olarak kullanıcının boş alan bırakıp bırakmadığı kontrol ediliyor eğer formda boş alan bırakılmış uyarı mesajıyla kullanıcıya lütfen boş alan bırakmayınız mesajı veriliyor. Kullanıcı bütün bilgileri eksiksiz girerse bilgiler veritabanına kaydediliyor eğer kullanıcı adı daha önceden kullanılmışsa kayıt işlemi yapılmadan kullanıcı bilgilendiriliyor başka bir kullanıcı adı ile kayıt olması isteniyor. uyeol.php arayüzü yazılımdan kesitler bölümünde verilecektir.
profilim.php
profilim.php ile ilk olarak giriskontrol.php'ye yönlenerek kullanıcının giriş yapıp yapmadığı kontrol edilmektedir. baglan.php ile veritabanına bağlanılmaktadır. profilim.php'de veritabanından kullanıcıya ait bütün kullanıcı bilgileri çekilmektedir. Bu bilgiler profilim.php içinde bulunan formda yazılı olarak kullanıcının karşısına çıkmaktadır. Yazılımdan kesitler kısmında bu kısım gösterilecektir. Kullanıcı eğer bilgileri silip boş formu yollamak isterse karşısına boş alan bırakmayınız mesajı alacaktır. profilim.php'de iki adet buton bulunmaktadır. Birinci buton kullanıcının ismini, soyismini ve eposta adresini değiştirmesi için ikincisi ise şifre değiştirmek için. Kullanıcı şifresini değiştirmek istediğinde yeni şifresini iki kere girmesi gerekmektedir sonra şifre değiştir butonuna bastığında şifresi veritabanında değişecektir. Kişisel bilgilerini değiştirip güncelle butonuna bastığında veritabanında bilgileri değişecektir.
kayitekle.php
kayitekle.php ile ilk önce giriskontol.php'ye bağlanılarak kullanıcının giriş yapıp yapmadığı kontrol edilmektedir. baglan.php ile veritabanına bağlanılmaktadır. kayitekle.php formuna il eklenmesi için iller tablosundaki bütün iller çekilerek açılır kutuda (textarea) iller hazır olarak tutulmaktadır kullanıcı bir il seçtiği zaman sistem ilce.php'ye yönlenmektedir. Seçilen ile göre diğer bir açılır kutuda o ile ait ilçeler sergilenmektedir. ilce.php'de veritabanından gelen ilid'sine gore ilçeler çekilmektedir. İnternetten bulunan hazır javascript kodları ile her il seçildiğinde AjaxRequest.js modülüne bağlantı kurulup ilçeler diğer ilçe açılır kutumuzda kullanıcının il bilgileri göndermesine gerek kalmadan sergilenmektedir kullanıcı buradan bir ilçe seçmektedir. Yazılımdan kesitler bölümünde bu kısım gösterilecektir. kayitekle.php modülümüzün formundan alınacak diğer bilgiler turizm alanı adı, adresi, turizm alanı hakkında yazı ve türü. Turizm alanı türü yine açılır bir kutuda kullanıcılara sergilenecektir bu kısımda kullanıcılar üç seçim yapabileceklerdir bunlar coğrafi turizm, tarihi turizm ve kültürel turizmdir. Ayrıyeten formda kullanıcılar fotoğraf da ekleyebileceklerdir. Gözat butonlarına basıp kendi bilgisayarlarında bulunan fotoğraflardan beş tane ekleyebileceklerdir. Fotoğrafların boyutları 2mg üstünde olduğu zaman kullanıcılar fotoğraf çok büyük uyarısı alacaklardır. Kullanıcı kayitekle.php'deki bütün alanları doldurup kaydet dediğinde alınan bilgiler veritabanına kaydedilecektir. Turizm alanı adı, adresi, açıklaması, türü, ili ve ilçesi boş bırakılmaması gereken alanlardır. Bunlardan herhangi birini boş bırakan kullanıcı uyarı mesajı alacaktır. Veritabanına fotoğraf ekleme kısmını biraz daha ayrıntılatmak gerekirse kullanıcının eklediği fotoğrafların sadece yolu veritabanına yazılmaktadır fotoğrafın kendisi serverda bir dosya içinde saklanmaktadır.
ilce.php
ilce.php'de seçilen ilin id'si get methoduyla alınıyor ve veritabanına bağlanılarak gelen ilid ile uyuşan ilçeler çekiliyor ve açılır kutuda (textarea) sergileniyor.
giriskontrol.php
giriskontrol.php'ye yönlenen kullanıcının sisteme giriş yapıp yapmadığı kontrol edilmektedir. Eğer giriş yapmadıysa index.php'ye yönetilmektedir.
kayitlarim.php
Menüden kullanıcı kayıtlarım seçeneğini seçtiği zaman kayitlarim.php ilk olarak giriskontrol.php'ye yönlenerek kullanıcının giriş yapıp yapmadığını kontrol etmektedir. Sonra kayıtlarım seçeneğine tıklayan kullanıcının id'si ile kayitlarim tablosunda bulunan kullanıcıid eşit olan kayıtlar çekiliyor ve kayıtların isimleri listeleniyor. Her kaydın adının yanında düzenle ve sil seçenekleri bulunuyor. Kullanıcı düzenle seçeneğine bastığında kayitduzenle.php sil seçeneğine bastığında sil.php'ye yönleniyor.
kayitduzenle.php
kayitlarim.php'de kullanıcının kayıtlarının listesi çıkmaktaydı. kayitlarim.php'den seçilen bir kaydın id'si kayitduzenle.php'ye get methoduyla alınıyor ve veritabanına bağlanılarak kayitlarim tablosunda bu id ile eşleşen kaydın bütün bilgileri çekiliyor. Bu çekilen bilgiler kayitduzenle.php'deki formda sunuluyor. Kullanıcı bu bilgileri istediği şekilde değiştirip güncelle dediğinde kayıt veritabanında güncelleniyor. Burada kontrol edilmesi gereken önemli bir şey kullanıcı yeni fotoğraf eklemezse eski fotoğrafların veritabanında saklanmasıdır. SQL komutu içine koyduğumuz php koşullarıyla bu işlem halledilmiştir. kayitekle.php'de anlatilan il ve ilçe seçmek için yapılanlar burada da yapılmaktadır. ilçelerin seçilmesi için ilce.php'ye bağlanılmaktadır.
sil.php
sil.php yine aynı şekilde kayitlarim.php'de seçilen kaydın id'sini get methoduyla alarak veritabanına bağlanmakta ve alınan id'yle uyuşan id'yi bulup o kaydı veritabanından silmektedir.
arama.php
Kullanıcı menüden isimle ara seçeneğini seçtiğinde arama.php'ye yönlendirilmektedir. Arama işlemleri için giriş yapmaya gerek yoktur. arama.php'de kullanıcıdan form aracılığıyla bir kelime girmesi istenmektedir. Kullanıcının girdiği kelime veritabanında kayıtlar tablosunda adi özniteliğinde aratılmaktadır. Girilen kelime eğer veritabanında varsa ve onay özniteliği 1 ise arama.php'de bulunan kayıtlar listelenmektedir. Bu listeleme işi while döngüsüyle yapılmaktadır. Kullanıcı bulunan kayıtlardan birine tıkladığında kayitdetay.php'ye yönlenrilmektedir.
liste.php
Kullanıcı menüden il - ilçe ile arama seçeneğini seçtiğinde liste.php'ye yönlendirilmektedir. Burada kullanıcıdan bir il seçmesini, o ile ait ilçe seçmesi ve turizm türü seçmesi istenmektedir. il ve ilçe kayıtekle.php'de anlatıldığı gibi açılır kutularda sergilenmekte bir il seçildiğinde ilce.php'ye javascript aracılığıyla otomatik olarak yönlendirilmekte ve o ile ait ilçeler açılır kutuya gelmektedir. Kullanıcı liste.php'de değişik seçimler yapabilmektedir. Sadece bir il seçip arama yapabilir veya il ilçe seçip arama yapabilir veya il ilçe ve tür seçip arama yapabilir. Bu üç arama türü için değişik şekillerde komutlar yazılmıştır. Arama sonuçları while komutuyla listelenmektedir. Kullanıcı listelenen kayıt isimlerinden birini seçtiğinde kayitdetay.php'ye yönlendirilmektedir.
kayitdetay.php
kayitdetay.php arama işlemleri sonucunda çıkan listelerden seçilen bir kaydın
bilgilerini göstermek için kullanılıyor. Seçilen kaydın id'si get methoduyla
alınarak veritabanına bağlanılıyor ve kayitlar tablosunda id ile eşleştiriliyor
ve bilgiler çekiliyor. Çekilen bilgiler örneğin ( Adı: <?=$kayit['adi'];?> )
şekilde yazdırılıyor. Kayitlar tablosundan alınan ilid ile iller tablosundan o
kaydın ili, ilceid ile ilçeler tablosundan o kaydın ilçesi bulunup yazdırılıyor.
Fotoğraflar ise ( images/<?=$kayit['foto1'] ;?> şeklinde yol gösterilerek
sergilenmektedir. Sistemimize görsellik katmak açısından fotoğraflar internetten
hazır şekilde bulunan java script kodlarıyla sergilenmek için highslide.js
dosyasını kullanmaktadır. Yine aynı şekilde hazır şekilde bulunan image.php
dosyasını kullanmaktadır. kayitdetay.php modülümüz kaydın adı, adresi,
açıklaması, fotoğraflarını yayınladıktan sonra yorumekle linki verilmektedir o
kayda yorum eklemek için yorumekle.php'ye bağlanılmaktadır. Diğer bir
özelliğimiz gösterilen kaydın altında önceden eklenmiş yorumların
gösterilmesidir. Burada yapılan işlem veritabanında yorumlar tablosuna
bağlanılarak yorumlar tablosunda bulunan kayitid ile eşleme yapılıp o kayda ait
yorumların sergilenmesidir. Burada yine her yorumun ekleme tarihi
gösterilmektedir. Ayrıyeten yorumlar tablosundan aldığımız kullaniciid ile
kullanıcı tablosuna bağlanılarak yorumu ekleyen kullanıcı adı bulunun o
kullanıcının ismi yorumun yanında yazılması sağlanmıştır.
yorumekle.php
yorumekle.php ile kayitdetay.php de sergilenen kaydın id'si get methoduyla alınmakta ve kullanıcıya sunulan form yardımıyla kullanıcının yorum eklemesi sağlanmaktadır. Yorum ekleme işini tamamlayan kullanıcı ekle butonuna bastığında veritabanında yorumlar tablosuna kullaniciid, tarih, yorum, kayitid işlenmektedir. Onay işleminden sonra yorum yayınlanmaktadır.
hakkinda.php
Kullanıcı menüden gezgin hakkında kısmını seçtiğinde hakkinda.php'ye yönlenmektedir. Burada sistemin özellikleri, nasıl kullanılacağı anlatılmaktadır.
admingiris.php
admingiris.php ile sistem yöneticisinden form aracılığıyla kullanıcı adı ve şifresi istenmekte ve adminkontrol.php'ye yönlendirilmektedir.
adminkontrol.php
admingiris.php'den alınan bilgiler adminkontrol.php'de veritabanına bağlanılarak kontrol edilmektedir. Eğer kullanıcı adı ve şifre veritabanında kullanıcı tablosunda tutuyorsa ve kullanıcı yetkisi 1 ise kullanıcı adminpanel.php'ye yöneltilmekte ve admin panelini kullanmaktadır.
adminpanel.php
adminpanel.php'de admin paneldeki menülerimiz bulunmaktadır. Bu menüde il ekle, ilçe ekle, yeni kayıtlar, yeni yorumlar, kullanıcı bul ve çıkış bulunmaktadır. Adminpanel.php admingiriskontrol.php'yi kullanarak adminin giriş yapıp yapmadığını kontrol etmektedir.
admingiriskontrol.php
admingiriskontrol.php ile sistemde admin olup olmadığı kontrol ediliyor eğer admin giriş yapmamışsa admingiriş.php'ye yönlendiriliyor.
admincikis.php
Sistem yöneticisi admin panelinde çıkış seçeneğini seçtiği zaman admincikis.php'ye yönlendirilir ve çıkış işlemi yapıldıktan sonra index.php'ye yönlenir.
ilekle.php
Sistem yöneticisi admin panelinde il ekle seçeneğini seçtiği zaman karşısına gelen formda il ismi ve plaka numarası istenmektedir. Bilgileri giren yönetici ekle butonuna bastığında veritabanına bağlanıp iller tablosuna bilgiler eklenmektedir. (NOT: sistem akışı için veritabanına bütün iller girilmiştir.)
ilceekle.php
ilceekle.php ile ilk önce iller tablosunda bütün iller çekilerek açılır kutuya iller listeleniyor. Yönetici bir il seçerek hangi ile ilçe gireceğini belirliyor. İlçe ismini forma yazdıktan sonra ekle butonuna basarak ekleme işini tamamlıyor. Burada ilçeler tablosuna seçilen ilin id'si ve ilçe ismi yazdırılıyor.
kayitbul.php
Yönetici menüden yeni kayıtlar seçeneğini seçtiği zaman veritabanına bağlanılıp onay kodu 0 olan bütün kayıtlar çekilmekte ve bu kayıtların adı, adres, açıklaması, resimleri gösterilmektedir. Her kaydın altında onayla ve sil seçenekleri bulunmaktadır.
onayla.php
kayitbul.php de bulunan listeden hangi kaydın onayla seçeneğine basıldıysa o kaydın id'si get methoduyla alınarak onayla.php'de veritabanına bağlanıp kayitlar tablosunun onay özniteliği 1 yapılmaktadır ve kayıt yayınlanmaktadır.
kayitsil.php
kayitsil.php ile yine aynı şekilde seçilen kaydın id'si alınarak veritabanına bağlanılmakta kayitlar tablosunda id'si eşleşen kayıt silinmektedir.
yorumbul.php
Yönetici admin panelinden yeni yorumlar seçeneğini seçtiğinde veritabanında yorumlar tablosunda onay özniteliği 0 olan yorumlar listelenmektedir. her yorumun altında onayla ve sil seçenekleri bulunmaktadır.
yorumonayla.php
yorumonayla.php ile yorumbul.php'den seçilen yorumun veritabanında onay özniteliği 1 yapılarak yayınlanması sağlanmaktadır.
yorumsil.php
yorumsil.php ile yorumbul.php'de seçilen yorum veritabanına bağlanılarak silinmektedir.
kullanicibul.php
kullanicibul.php ile yöneticiden form aracılığıyla bir isim girmesi istenmektedir. Bu girilen isim veritabanına bağlanılarak kullanıcı tablosunda kullanıcı adı kısmında aranmakta ve listelenmektedir. Bulunan ismin yanında iki seçenek bulunmaktadır admin yap ve sil seçenekleri.
adminyap.php
kullanicibul.php'de bulunan kullanicinin yanındaki admin yap seçeneğine basıldığında. Seçilen kullanıcının veritabanında kullanıcı tablosunda yetki özniteliği 1 yapılarak admin (yönetici) olması sağlanmaktadır.
kullanicisil.php
kullanicibul.php'de bulunan kullanicinin yanındaki sil seçeneğine basıldığında. Seçilen kullanıcı veritabanında kullanıcı tablosundan silinmektedir.
Yazılımdan Kesitler:
Yazılımdan alınmış kesitleri görmek için buraya tıklayınız.
Yazılımımız www.fecaso.com/projeee/index.php adresinde çalışır halde bulunmaktadır. Bu adrese girip yazılımımızı inceleyebilirsiniz. Yazılımı incelerken aşağıda verilen bilgileri kullanabilirsiniz.
Kullanıcı Adı : idea Şifre: idea
Kullanıcı adı ve şifre admin paneli için geçerli değildir. Admin paneli işlevleri için yazılımdan kesitler bölümündeki resimlere bakabilirsiniz.
Kullanıcı Kılavuzu:
Kullanıcı kılavuzuna buradan ulaşabilirsiniz.
|