AJAX - PHP İletişimi
Bu makalemde, AJAX ve PHP arasındaki iletişimin nasıl sağlandığını, bir veri tabanı uygulaması ile göstermek istiyorum. Bildiğiniz gibi AJAX teknolojisi sayfa ve sunucu arasındaki iletişimi gerçekleştiren ve iletişim sonucunu, sayfa yenilemesine gerek kalmadan, anlık olarak kullanıcıya gösteren bir teknolojidir.
Örnek olarak bazı ülke bilgilerini kullanıcının seçimine göre anlık göstereceğimiz bir uygulama tasarlayacağız. Ülkeleri liste şeklinde göstereceğimiz şablonumuzu oluşturduktan sonra, AJAX ve PHP kullanarak, kullanıcının seçtiği ülke bilgilerini sayfa yenilenmesine gerek kalmadan kullanıcıya göstereceğiz.
Aşağıdaki videoda AJAX ve AJAX ile haberleşen PHP sayfasının kodlamalarının nasıl yapıldığını izleyebilirsiniz. Videonun altında da videodaki bütün yapıların kaynak kodlamalarını inceleyebilirsiniz.
Veritabanı Bağlantısı (baglanti.php)
<?php
$user="root";
$pass="";
try {
$db = new PDO("mysql:host=localhost;dbname=ulkeler;charset=utf8",$user,$pass);
} catch (Exception $e) {
echo "Hata : " . $e->getMessage();
die();
}
?>
İndex Sayfası (index.php)
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Ülkeler</title>
<link rel="stylesheet" href="css/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="js/start.js"></script>
</head>
<body>
<div id="liste">
<ul>
<?php require("lib/yukle.php"); ?>
</ul>
</div>
<div id="sonuc"></div>
</body>
</html>
Listeyi Veri Tabanından Oluşturma (yükle.php)
<?php
require("baglanti.php");
$query = "SELECT * FROM bilgiler ORDER BY ulke ASC";
$result = $db->prepare($query);
$result -> execute();
$data = $result->fetchAll(PDO::FETCH_ASSOC);
$liste = "";
foreach ($data as $sonuc) {
$liste.='<li><label id="liste'.$sonuc['id'].'"><img src="images/'.$sonuc['bayrak'].'.png" alt="Bayrak">'.$sonuc['ulke'].'</label></li>';
}
echo $liste;
?>
Biçimler (style.css)
*{
margin:0;
padding: 0;
box-sizing: border-box;
}
#liste ul{
list-style: none;
width: 100%;
}
#liste ul label{
display: block;
padding: 15px 15px 15px 70px;
border-bottom: 2px solid #ccc;
font-size: 22px;
font-family: "Arial",sans-serif;
cursor: pointer;
position: relative;
}
#liste ul label:hover{
background: #eee;
}
label img{
position: absolute;
left:10px;
top: 5px;
width: 48px;
height: 48px;
}
label .sayac{
float: right;
}
#sonuc{
background: #f8f8f8;
}
#sonuc ul li{
font-size: 16px;
font-family: "Arial",sans-serif;
border: 1px solid #ccc;
display: block;
padding: 20px 10px;
}
JQuery ve AJAX kodlaması (start.js)
$(function(){
$("#liste ul li label").on("click",function(){
$("#sonuc").hide();
var i = $(this).attr("id").slice(5,8);
var veri = "id="+i;
$.ajax({
url:"lib/goster.php",
type:"POST",
data:veri,
success:function(sonuc){
$("#sonuc").html(sonuc);
$("#sonuc").fadeIn();
},
error:function(error){
$("#sonuc").html("Veri Tabanı Bağlantı Hatası : "+error);
$("#sonuc").fadeIn();
}
});
});
});
AJAX ile haberleşen PHP sayfası kodlaması (goster.php)
<?php
require("baglanti.php");
$id = $_POS T['id'];
$query2 = $db->prepare($query);
$query2 -> bindParam(":id",$id);
$query2->execute();
$sonuc = $query2->fetch(PDO::FETCH_ASSOC);
$liste = '<ul>';
$liste .= '<li>Ülke : '.$sonuc['ulke'].'</li>';
$liste .= '<li>Başkent : '.$sonuc['baskent'].'</li>';
$liste .= '<li>Nüfus : '.$sonuc['nufus'].'</li>';
$liste .= '<li>Yüzölçümü : '.$sonuc['yuzolcumu'].'</li>';
$liste .= '</ul>';
echo $liste;
?>
- Yayın Süresi : 2636 Gün
- Konu Sayısı : 277 Bilim Konuları : 118 Teknoloji Konuları : 42 Web-Tasarım Konuları : 42 İlginçler Konuları : 63 Gezi Konuları : 12 En Popüler : Sonsuz İşlemleri 246119 Kere En Çok Yorum Alan : Logaritma Nedir, Ne İşe Yarar, Gerçek Hayatta Nerelerde Kullanılır? 19 Kere En Çok Değerlendirilen : Napier'in Kemikleri (Matematik) 151 Kere
Satrançta Piyonun Geçerken Alması Kuralı (En Passant)
En passant kuralı nedir, ne zaman uygulanır...
Işık Hızında Bağıl Hız
Işık hızında giden cisimler için bağıl hız hesaplamaları...
Newton Karantinada Neler Yaptı?
Newtonun karantina günleri ve icatları...
Çamaşır Suyu Nedir? Nasıl Temizler?
Çamaşır suyunun yapısı, kullanım alanları ve dikkat edilmesi gerekenler...
Dünyanın Yaşını Nasıl Biliyoruz?
Dünyanın yaşını hesaplama yöntemleri...
Salgın Hastalık Dereceleri : Pandemik, Epidemik, Endemik, Sporadik
Pandemik, Epidemik, Endemik, Sporadik Nedir?
Kahve Günlükleri : Kahve Çekirdeği Kavurma Dereceleri
Hafif, orta, orta-koyu, koyu kavrulmuş kahve çekirdeklerinin özellikleri ve farkları...
Kahve Günlükleri : Kahve Demleme Yöntemleri
Kahve demleme yöntemleri ve farkları...
Kahve Günlükleri : Kahve Çeşitleri ve Ölçüleri
Popüler kahve çeşitleri ve ölçüleri...
Kahve Günlükleri : Arabica ve Robusta
Arabica ve Robusta kahve çekirdekleri ve farkları...
Sayıların Sınıflandırılması (Matematik)
Matematikte sayıların sınıflandırılması : Kompleks, Sanal, Gerçek, Doğal, Rasyonel, İrrasyonel...
Websiteniz İçin Bedava Güvenlik Sertifikası (SSL Sertifikası)
Tamamen bedava güvenlik sertifikası nasıl elde edilir, nasıl yüklenir?
Wi-Fi Şifresini Görme (Windows 7 - 10)
Programsız, kodsuz wifi şifresini görme yöntemi.
Kolay Ezberleme Yöntemi : Anımsatıcılar
Kolay ezberleme yöntemlerinden anımsatıcılar : Mnemotekni
Tarayıcılarda Ön Bellek İşlemleri (Normal Yükleme - Tam Yükleme - Ön Belleği Boşaltma)
Tarayıcılarda normal yükleme ve tam yükleme ne demektir, nasıl yapılır?
Takip, Reaksiyon, Fren ve Durma Mesafesi
Reaksiyon, fren, durma ve takip mesafesi nasıl hesaplanır, bilimsel detaylar.
Bilgisayarda Müzik Nasıl Yapılır?
Sadece bilgisayar programları kullanarak gerçekçi müzik nasıl oluşturulur?
Beden Kitle İndeksi Hesaplama ve Değerlendirme
Bu uygulama ile Vücut Kitle İndeksinizi hesaplayabilir ve sonucu değerlendirebilirsiniz.
Hidrojen Peroksit (H2O2) ve Özellikleri
Hidrojen peroksit nedir, sağlık açısından ne gibi etkileri vardır?
Photoshop'ta Ortalama İşlemleri
Photoshop'ta ortalama işlemleri nasıl yapılır?
Bu kısımdan sitemizdeki gelişmelerden haberdar olabilirsiniz.
- Abonelik Sistemi kaldırıldı. 11.03.2020
- Arama Motoru Google Özel Arama olarak değiştirildi. 15.10.2019
- Yıllık sunucu bakımı tamamlandı. 04.10.2019
- Konulara kaynaklar eklendi. 10.07.2019
- SSL sertifikası eklendi. 31.05.2019
Gitar çalmayı öğrenmek, yeteneğinizi geliştirmek, popüler tab ve akorlar için gitaregitim.net sitesini ziyaret etmeyi unutmayın.