29 Ocak 2018

Müşteri Memnuniyet Anketi Uygulaması




Müşteri Memnuniyet Anketi uygulaması ile sunduğunuz hizmetin kalitesini sorgulayabilir ayrıca neleri iyi ya da kötü yaptığınızı öğrenebilirsiniz. Bunun için internet bağlantısı olan bir tablet yada telefona uygulamamızı(yada kaynak kodlarını paylaştığımız sizin kendi veri tabanınızı kullanan) kurmanız yeterli böylece hizmet verdiğiniz insanlar özgürce düşüncelerini paylaşabilecekler gerçi ben Müşteri Memnuniyet Anketi Android uygulamasını yaparken ad soyad, TC kimlik numarası ve telefon numarasını zorunlu alan olarak ayarladım ancak TC kimlik numarasından doğrulama yaptırmadığım için bu bilgiler doğru yazılmak zorunda değil belkide başka bir sürümünde gizli yorumcu olarak sadece yorum ve puan alma seçeneği ekleyebiliriz ama bu seferde üşengeç kişiler sürekli yanlış bilgiler yazabilirler deneyip görmek lazım. Android uygulamasının kaynak kodlarını paylaştım ancak puanlamanın istatistiki verilere dönüştürülmesi yada incelenmesi için birde web arayüzü gerekmekte bu kısmını da siz meraklı kullanıcılar halledebilirsiniz diye düşünüyorum.

Kendi iş yeriniz için profesyonel bir Müşteri Memnuniyet Anketi düşünüyorsanız grafik ve işlevsellik istekleriniz doğrultusunda geliştirerek makul ücret karşılığında hizmet verebilirim.

Müşteri Memnuniyet Anketi uygulamasını aşağıdaki linkten indirebilirsiniz.

Uygulamayı geliştirmek isteyen arkadaşlar için kaynak kodlar açıklamalarıyla birlikte aşağıdadır buyrun.

Öncelikle kodlama kısmını sizlerle paylaşayım.




Yukarıdaki kodlar incelendiğinde ilk resimde TinyDB kullanılarak puan etiketinde kullanıcının butonlara basarak verdiği puan depolanıyor tüm butonlarda aynı işlem yapılıyor ancak depolanan puanlar farklı.
ikinci resme geçtiğimizde Screen2 yüklendiğinde TinyDB den puan etiketine sahip değer çekilip Global Puan değerine atanıyor böylece ilk ekranda vermiş olduğumuz puanı ikinci ekrana taşımış olduk sıra diğer kullanıcı bilgilerini toplamaya geldi ikinci ekranda kişiden Ad Soyad, TC, Telefon Numarası ve Yorumunu formlar yardımıyla alıyoruz. Buton1'e tıklandığında bu bilgileri işleyerek veri tabanına post yöntemi ile göndereceğiz gelelim bu bilgileri nasıl işlediğimize:

"for each item in list" fonksiyonu ile bir listedeki her eleman için istenilen bir işlem yaptırılabilir biz bu komutu kullanarak doldurulması zorunlu alanlar oluşturacağız, bunun için öncelikle "make a list" komutunu kullanarak bir liste başlatıyoruz ve doldurulmasını istediğimiz zorunlu alanların her birini resimde görüldüğü gibi listeye ekliyoruz. daha sonra "if item" komutu ile tüm liste elemanlarının içeriğinin boş olup olmadığını kontrol ettireceğiz "Global bos mu" değişkenini dolu ise +1 boş ise +0 şeklinde tanımlıyoruz böylece listemizdeki 3 elemanda dolu ise sonuç 3 olacak. Eğer doldurulması istenen değerler toplamı 3 ten küçükse doldurulmasını istediğimiz yerlerin bir yada daha fazlası doldurulmamış anlamına gelmektedir. Daha sonra sonuç 3 ve daha büyükse sorguyu gönder değilse ekrana "Kişisel bilgiler boş bırakılamaz" uyarısını yazdır diyerek komutu tanımlıyoruz.

Buradan sonra PHP kullanarak veriyi web arayüzüne aktarıp oradan veri tabanına depolama işlemi yaptırıp eğer hata alınmazsa işlemin başarı ile gerçekleştiğini adroid uygulamasına bildirip uygulamanın sonuca göre devam etmesi için komut göndereceğiz.

Mit App İnventor 2 ile Android uygulaması geliştirirken post yönteminde de veriler get yönteminde olduğu gibi & işareti ile birleştirilerek giriliyor tek fark get yönteminde verilerin linke eklenmesi post yönteminde ise işlem yapacak PHP sayfasının adresi giriliyor, veriler işlemi yapacak sayfaya gönderiliyor verilerin birleştirilme şekli yine aynı ancak bunu "Post Text" yapbozu ile yapıyoruz. Bu işlemi yapınca android uygulamamızda oluşan veriler web arayüzüne aktarılmış oluyor şimdi web arayüzünde PHP komutları kullanarak gelen verileri alıp veri tabanına aktaracağız. AnketBilgiGirisi.php isminde bir dosya oluşturalım ve aşağıdaki kodları içine atıp veritabanı ayarlarını yapıp kaydedelim.

AnketBilgiGirisi.php
<?php
// sabitleri tanımladık
define('kullanici','root');
define('sifre','');
define('host','localhost');
define('veritabani','veriler');

// veritabanına bağlandık varsa hatayı ekrana yazdırıp işlemi sonlandırdık
$connect=mysqli_connect(host,kullanici,sifre);
if(!$connect){
die("Veritabanı bağlantı hatası".mysqli_error($connect));
exit();
}
// veritabanındaki tabloyu seçtik eğer tabloyu seçemezsek hatayı ekrana yazdırıp sonlandırdık
$select=mysqli_select_db($connect,veritabani);
if(!$select){
die("Veri tabanı tablo seçim hatası".mysqli_error($connect));
exit();
}
// gönderdiğimiz form verilerinin türkçe karakter hatası vermesini önlemek için bu komutu kullanıyoruz.
mysqli_query($connect,"SET NAMES UTF8");

// AdSoyad degikenine gelen değer varmı diye kontrol ettik
if(isset($_POST['AdSoyad'])){
// formdan gelen verileri değişkenlere tanımladık
$AdSoyad = mysqli_real_escape_string($connect, $_POST['AdSoyad']);
}
// TC degikenine gelen değer varmı diye kontrol ettik
if(isset($_POST['TC'])){
// formdan gelen verileri değişkenlere tanımladık
$TC = mysqli_real_escape_string($connect, $_POST['TC']);
}
// Cep degikenine gelen değer varmı diye kontrol ettik
if(isset($_POST['Cep'])){
// formdan gelen verileri değişkenlere tanımladık
$Cep = mysqli_real_escape_string($connect, $_POST['Cep']);
}
// Yorum degikenine gelen değer varmı diye kontrol ettik
if(isset($_POST['Yorum'])){
// formdan gelen verileri değişkenlere tanımladık eğer formdan veri gelmiyorsa değişkeni boş tanımladık
$Yorum = mysqli_real_escape_string($connect, $_POST['Yorum']);
} else {
$Yorum = '';
}
// Puan degikenine gelen değer varmı diye kontrol ettik
if(isset($_POST['Puan'])){
// formdan gelen verileri değişkenlere tanımladık
$Puan = mysqli_real_escape_string($connect, $_POST['Puan']);
}
// AdSoyad TC ve Cep degişkenleri tanımlanmıssa veri girisi yapmasına izin veriyor
if(isset($AdSoyad) and ($TC) and ($Cep) and ($Puan)){
// Anket tablosuna girilecek bilgi hazırlandı
$sorgu = "INSERT INTO Anket(id, AdSoyad, TC, Cep, Yorum, Puan) VALUES (NULL, '".$AdSoyad."','".$TC."', '".$Cep."', '".$Yorum."', '".$Puan."')";
// hazırlanan bilgi veritabanına baglanılarak gönderldi
$BaglanVeGonder = mysqli_query($connect, $sorgu);
if(!$BaglanVeGonder){
die("Tüm bilgiler hazırdı ancak veri gönderilemedi".mysqli_error($connect));
exit();
}else{
echo "ok";
}

// veri tabanını durdurduk
mysqli_close($connect); 
?>
Böylece android uygulamamızdan gelen veriler sunucunun veri tabanına aktarılmış olacak PhpMyAdmin'e girip gönderilmiş olan verileri inceleyebilirsiniz.

Müşteri Memnuniyet Anketi android uygulamasının aia dosyasını indirip projeyi kendi hesabınızda açabilirsiniz buyrun.

PhpMyAdmin tablo yapısı



sql Dosyası aşağıdadır isterseniz indirip veritabanınıza import ederek içe aktarabilirsiniz.

Popüler Yazılar

Bize Yazın

İzleyiciler