jQuery ve PHP ile sayfa yenilenmeden AJAX ile veri eklemek
Bu yazıda sayfa yenilenmeden PHP ve Jquery kullanarak veri ekleme ve eklenen verileri sayfamızda göstermeyi göreceğiz.
Öncelikle jQuery ile gelen ajax fonksiyonumuza bir göz atalım;
type: 'POST',//Bu kısım POST ve GET değerlerinden birini alabilir
url: 'veri_isle.php',//Verinin gönderileceği sayfa
data: 'veri=verimiz&veri_iki=verimiz_iki',//Sorgu cümlesi
error:function(){ $('#yazdir').html("Bir hata algılandı."); }, //Hata alınırsa ekrana bastırılacak veri
success: function(veri) { $('#yazdir').html(veri);}//Başarılı olursa ekrana bastırılacak veri
});
<input name="veri"/> - <input name="veri_iki"/>
<input type="button" onclick="gonder();" value="Gönder"/>
</form>
<div id="yazdir"></div>
jQuery.ajax({
type: 'POST',//Bu kısım POST ve GET değerlerinden birini alabilir
url: 'veri_isle.php',//Verinin gönderileceği sayfa
data: $('#veri-formu').serialize(),
error:function(){ $('#yazdir').html("Bir hata algılandı."); }, //Hata alınırsa ekrana bastırılacak veri
success: function(veri) { $('#yazdir').html(veri);}//Başarılı olursa ekrana bastırılacak veri
});
}
bu gördüğünüz kısma tabikide sırayla giriş tanımlayıp daha sonra o girişleri veri yerine yerleştirmeyeceğiz daha kısa bir yolu var.
Gördüğünüz kod parçası sayesinde id değeri veri-formu olan formdan giriş (input) isimlerini ve değerlerini (value) okur sonuç olarak aşağıdaki gibi bir sorgu cümlesi oluşturur.
veri=veri isimli girişe(input) girilen veri&veri_iki=veri_iki isimli girişe(input) girilen veri
Şimdide veri_isle.php sayfamızı oluşturalım.
mysql_connect($host,$username,$password) or die("Hata");
mysql_select_db($database_name) or die("Hata");
mysql_query("SET NAMES '".$set_name."'");
}
//Database fonksiyon bitti.
database("localhost","root","1234","vt adı","latin5");
//Veritabanıma bağlandım.
$veri = mysql_real_escape_string($_POST["veri"]);
$veri_iki = mysql_real_escape_string($_POST["veri_iki"]);
//Get ile gelen verimi aldım. Fakat ' şeklindeki karakterleri etkisiz hale getirmesini istedim.
$sql = "INSERT INTO tablonuz (veri,veri_iki) VALUES ('$veri','$veri_iki')" ;
@mysql_query($sql) or die("Hata algılandı");
Bu sayfada verilerimi post ile aldım ve veritabanıma ekledim. Şimdi sayfaların son hallerine bakalım;
index.php sayfamız;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jQuery:Sayfa yenilenmeden AJAX ile veri eklemek</title>
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript">
function gonder() {
jQuery.ajax({
type: 'POST',//Bu kısım POST ve GET değerlerinden birini alabilir
url: 'veri_isle.php',//Verinin gönderileceği sayfa
data: $('#veri-formu').serialize(),
error:function(){ $('#yazdir').html("Bir hata algılandı."); }, //Hata alınırsa ekrana bastırılacak veri
success: function(veri) { $('#yazdir').html(veri);}//Başarılı olursa ekrana bastırılacak veri
});
}
</script>
</head>
<body>
<form id="veri-formu">
<input name="veri"/> - <input name="veri_iki"/>
<input type="button" onclick="gonder();" value="Gönder"/>
</form>
<div id="yazdir"></div>
</body>
</html>
mysql_connect($host,$username,$password) or die("Hata");
mysql_select_db($database_name) or die("Hata");
mysql_query("SET NAMES '".$set_name."'");
}
//Database fonksiyon bitti.
database("localhost","root","1234","vt adı","latin5");
//Veritabanıma bağlandım.
$veri = mysql_real_escape_string($_POST["veri"]);
$veri_iki = mysql_real_escape_string($_POST["veri_iki"]);
//Get ile gelen verimi aldım. Fakat ' şeklindeki karakterleri etkisiz hale getirmesini istedim.
$sql = "INSERT INTO tablonuz (veri,veri_iki) VALUES ('$veri','$veri_iki')" ;
@mysql_query($sql) or die("Hata algılandı");
Yorumlar
Yeni yorum veya soru gönder