PHP ile Hastane Yönetim Sistemi
Herkese merhaba. Burada, Sinerji Bilişim Firmasında, stajyer öğrenci olarak görev aldığım süre içinde geliştirdiğim, hastaneler için, kullanıcı ve admin panelleri bulunan, oldukça geniş seçenekler sunan projeyi göstereceğim. Kaynak kodlar için Github hesabımı takip edebilirsiniz:
Kullanılan Teknolojiler
- HTML
- CSS
- JavaScript
- MySQL
PhP ile MySQL Veritabanı Bağlantısı Yapma
Php kullanarak yazdığımız projelerde genellikle veritabanı yönetim işleri MySQL üzerinden gerçekleştirilir. PHP ile bir SQL veritabanına bağlanmanın iki yöntemi bulunuyor, MySQLi ve PDO. Öncelikle bir MySQL veri tabanı oluşturmamız gerekli. Daha önce başka bir projede veri tabanı oluşturma hakkında bilgi vermiştik. Buradan ulaşabilirsiniz. Veri tabanını oluşturduktan sonra php kodlarını yazmaya başlayabiliriz.
Veri tabanı bağlantısı değişken bir obje oluşturarak sağlanır:
Örnek bir php kodu üzerinde inceleme yapalım:
Bu script’de kullanılan ana yöntem mysqli_connect() metodudur. Mysqli_connect() metodu, MySQL sunucusuna yeni bir bağlantı açar. Sözdizimi: mysqli_connect (host, username, password, dbname, port, socket); şeklindedir. Projenin ana sayfasına sekmeler ekleyerek diğer projeyle benzer şekilde doktor, hasta ve admin girişleri ile işlemler sağlamayı düşünüyorum. Admin, bütün işlemleri kontrol edebilir olacak. İlk etapta bir veri tabanı oluşturmam gerekecek. Bu veri tabanına ekleyeceğim elemanların taslağını oluşturdum. Admin, randevu, doktor bilgilerini içeren bir doktor tablosu, giriş yapabilmeleri için kullanıcı adı ve parola içeren farklı bir doktor tablosu, branşlarına göre ayırabilmek için bir doktor tablosu ve herhangi bir kullanıcının giriş yapması için ve bilgilerini tutmak için tablolar oluşturacağım.
Hastane yönetim sistemi projemin ilk etabı veri tabanı oluşturmaktı. Projemin veri tabanı 7 adet tablodan oluşuyor:
Tabloların her birine birkaç içerik ekledim. Örnek olarak:
Projenin Çalıştırılması
Projeyi çalıştırmak için ilk önce bilgisayarımızda yüklü bulunan XAMPP programını açıp, Apache ve MySQL seçeneklerini Start etmemiz gerekiyor.
Ardından web tarayıcımıza localhost yazıyoruz ve önceden veritabanına eklemiş olduğumuz projemizi seçiyoruz.
Son olarak src seçeneği, tıkladığımızda bizi ana sayfaya yönlendirecektir.
Site Tasarımı
Projenin ana sayfa tasarımında sekmeler ekledim ve ulaşmak istediğimiz sayfalara bağlantıları buradan sağlayacağız.
Şu an bulunduğumuz sayfa Ana Sayfa. İletişim’e tıklayıp iletişim bilgilerini görebiliriz. Hastalar sekmesinde hasta girişi, diğerlerinde de aynı şekilde doktor girişi ve admin girişi olarak giriş yapabiliriz. Ayrıca ana sayfada html kodda slider ile görüntü efekti kullanarak modern bir tasarım elde etmeye çalıştım ve onun için hazır responsiveslides.js kullandım:
Bu fonksiyon ile sliderin maksimum genişliğini ve hızını belirttik:
Aşağıdaki kod parçası ise sliderin kaç tane resimden oluşup onların sıralaması belirtiyor:
İletişim
Bir sitenin olmazsa olmazlarından biri de kişilerin muhataplarına direk ulaşabilme olanağıdır. Bütün sitelerde olmazsa olmaz İletişim sekmesine tıkladığımızda karşımıza çıkan sayfa şu şekilde;
Hastalar
Projenin Hastalar sayfasına giriş için tıkladığımızda karşımıza bir giriş sayfası çıkıyor.
İlk etapta daha önce veri tabanında belirlediğim hasta bilgileri ile giriş yapabiliyorum. Veri tabanına bilgi ekleyebilmenin yanı sıra hastaların bu sayfa yolu ile üyelik hesabı oluşturulabilir. Aşağıda bulunan “Hesap oluştur” kısmına basmak bunun için yeterli.
Tıkladığımızda karşımıza kayıt sayfası çıkacak. Bu sayfada istenilen bilgileri girip Gönder butonuna tıkladığımızda veri tabanına bir üye daha eklemiş oluyoruz ve eklediğimiz üyelik kullanıcı adı ve şifresi ile giriş yapabiliyoruz. Giriş yaptıktan sonra karşımıza çıkan sayfa aşağıdaki gibidir. Sağ üst köşedeki isme tıkladığımızda profil görüntüleme, şifre değiştirme ve çıkış yapma seçeneklerimiz olacak. Karşımıza çıkan ilk sayfa “Kontrol Paneli” sayfası. Diğer sekmelerde de randevu oluşturma ve oluşturulan randevuları görüntüleme seçeneklerimiz mevcut. Ayrıca sayfalarda hazır bootstrap modülleri mevcut: sidebar, toolbar vs.
Doktor Girişi
Projede hastaların yanı sıra doktorlar için de geçmiş randevularını görüntüleme ihtiyaçları duyduklarında veya mevcut profillerini güncellemek istediklerinde ihtiyaçlarını karşılamak için imkan sunuluyor. Hastalar gibi doktorlar da şifrelerinde değişiklik yapabiliyor.
Profili güncelle seçeneğine tıkladığımızda aşağıda görünen sayfa karşımıza çıkıyor. Değişiklik yapmak istediğimiz kısımlara uyguladığımız değişikliklerden sonra Güncelle seçeneğine tıkladığımızda bilgilerimiz güncellenmiş oluyor.
Admin Girişi
Admin sayfasında diğerlerine kıyasla çok daha fazla özellik mevcut. Sonuç olarak sitenin yöneticisi konumunda olduğu için her olaya, veriye müdahale edebilecek bir pozisyonda olmalı. Giriş yaptıktan sonra karşımıza çıkan sayfa şu şekilde;
Burada admin, doktor, hasta ve randevu bilgilerini görüp müdahale edebiliyor. Örneğin hastaneye yeni gelen bir doktor için kayıt oluşturabiliyor.
Doktor Uzmanlığı seçeneğinde sağlamasını düşündüğüm avantaj, hastaneye mevcut olmayan bir bölüm açıldığı zaman direkt olarak buradan yeni bir bölüm ekleyebileceğiz. “Doktor Ekle” seçeneği ile de bölümün doktorunun kaydını yaparak hastaların hizmetine sunacağız.
Burada yaptığımız değişiklikler veri tabanında aynı şekilde güncellenecek.