lostyazilim
tr.link

(yardım) php Sayfa yenilenmeden veri tabanına veri kaydetmek

7 Mesajlar 2.953 Okunma
lstbozum
tr.link

caneraltinel caneraltinel WM Aracı Kullanıcı
  • Üyelik 30.10.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Girişimci & Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad C** A**
  • Mesajlar 252
  • Beğeniler 33 / 35
  • Ticaret 26, (%100)
Arkadaşlar merhabalar,

Sitenin iletişim sayfasındaki form'dan gönderilen mesajları veritabanına kayıt ettiriyorum fakat bunu sayfa yenilenmeden yapmak ve form yerine mesaj yazdırmak istiyorum. İnternetteki örnekleri inceledim fakat bir türlü beceremedim. Kodlar aşağıdadır yardımcı olabilecek varsa çok memnun olurum..
$adiniz = $_POST["Name"] ;
$email = $_POST["Email"] ;
$firma = $_POST["Firma"] ;
$telefon = $_POST["Telefon"] ;
$gsm = $_POST["Gsm"] ;
$faks = $_POST["Fax"] ;
$mesaj = $_POST["Message"] ;
$date = date('d.m.Y H:i') ;

$veritabaninakayitet = mysql_query("INSERT into iletisimmesajlari_tb (isim,firmadi,telefon,faks,gsm,eposta,mesaj,okundu,cevaplandi,date) values ('$adiniz','$firma','$telefon','$faks','$gsm','$email','$mesaj','1','1','$date')");
print "basarili" ;
}else{ ?>


























">

 

 

wmaraci
reklam

AkincanD AkincanD © Kuardscreative Kullanıcı
  • Üyelik 19.09.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad A** D**
  • Mesajlar 112
  • Beğeniler 0 / 14
  • Ticaret 7, (%100)
Öncelikle formumuza ve butonumuza birer id verelim. Misal,



Ardından ajax ile basit bir şekilde başka bir php sayfasında post ettirelim.
<script>
$(document).ready(function(){
$("#verigonder").on("click", function(){
var gonderilenform = $("#verilerformu").serialize();

$.ajax({
url:'postsayfasi.php',
type:'POST',
data:gonderilenform,
success:function(e){
$("div").html("").html(e);
}
});

});
});
</script>


daha sonradan postsayfaasi.php'de şu şekilde basitçe verilerin alınma yöntemini göstereyim insert vs. işlemleri yapabilirsiniz zaten.

extract($_POST);
if($_POST){
echo "1. input : " . $inputadi . "
2. input : " . $inputadi2;
}
?>


Ek olarak şunu da kullandığın sayfaya eklemeyi unutma :)
<script></script>
 

 

Dalından kopan yaprağın akıbetini rüzgar tayin eder..

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
Merhaba dostum,

Araştırman gereken ilk şey öncelikle JavaScript (jQuery-Ajax) işlemidir. jQuery ve Php arasında bağlantı oluşturmayı öğrendiğin zaman bırak formu sayfayı yenilemeden tüm işlemlerini neredeyse gerçekleştirebilirsin. Basit bir örnek verecek olursak ;

Yeni bir java dosya oluşturduk. "ajax.js"
Yeni bir php dosyası oluşturduk. "form.php"

Öncelikle sayfanın en altında tagın bitiminden önce yeni oluşturduğumuz java dosyasını html dosyasına dahil ediyoruz.
<script></script>
ve javascript dosyalarının çalışması için
<script></script>
bu java dosyasını da dahil etmelisin ki etkileşimde bulunabilelim


Ajax.js dosyasını açtık.
$(document).ready(function() { // HTML kodları yüklendiğinde (sayfa hazır olduğunda)
var kadi_degeri = "deneme"; // manuel bir string değer oluşturdum

$.ajax({
type: "POST", // formda ki method gibi GET veya POST değeri belirttik
url: "form.php", // verilerin hangi dosyaya gideceği
data : {"kullaniciadi" : kadi_degeri}, // göndereceğimiz veriler
success: function(sonuc){ // success, işlem bittiğinde demek ve "sonuc" diyerek php dosyasından dönen veriye ulaşmamız için
alert(sonuc); // tarayıcı üzerinden çıktı verdik
}
});
});


Bu şekilde çalıştırdığın zaman sayfa ilk yüklendiğinde ajax aktif hale gelip form.php üzerinden POST türünde işlem yapmaya başlayacaktır. "deneme" adlı bir değer gönderdiğim içinde sayfa yüklenimi bittiğinde tarayıcıdan bir tepki geldiğini görüceksin. Geriye kalan tek şey bunu kendi formuna çevirmen. İster değerleri tek tek ekleyebilir {veri1:değer, veri2:değer} gibi yada data : dizi; şeklinde de tek seferde işi bitirmiş olursun.

Gel gelelim senin formuna ;

Atıyorum iletisim.php adında bir dosyan var form içerik kısmı sadece böyle kalsın ;


























">

Veritabanı kayıt işlemlerini ve if else muhabbetini tamamen kaldır. Formuna extra olarak class ve aynı şekilde submit butonunada bir class verdik ki dışarıdan ulaşabilelim.

ajax.js dosyamızı açtık ve bu şekilde güncelledik ;
$(document).ready(function() {
$(".gonderbutonu").click(function() {
var benimformum = $(".benimformum").serialize();

$.ajax({
type: "POST",
url: "form.php",
data: benimformum,
success: function(sonuc){
alert(sonuc);
}
});

return false;
});
});


Son olarak yeni oluşturduğun form.php yi açıp ;
if ($_POST) {
$adiniz = $_POST["Name"] ;
$email = $_POST["Email"] ;
$firma = $_POST["Firma"] ;
$telefon = $_POST["Telefon"] ;
$gsm = $_POST["Gsm"] ;
$faks = $_POST["Fax"] ;
$mesaj = $_POST["Message"] ;
$date = date('d.m.Y H:i') ;

require_once("veribağlantıdosyan.php");
$veritabaninakayitet = mysql_query("INSERT into iletisimmesajlari_tb (isim,firmadi,telefon,faks,gsm,eposta,mesaj,okundu,cevaplandi,date) values ('$adiniz','$firma','$telefon','$faks','$gsm','$email','$mesaj','1','1','$date')");
echo "basarili" ;
}
?>


Şeklinde yaptığın zaman sayfan güncellenmeden butona tıkladığında veri eklemiş olacaksın. Haydin kolay gelsin :p
caneraltinel onur1989tc PhotoSky

kişi bu mesajı beğendi.

mrscode mrscode Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2017
  • Yaş/Cinsiyet 32 / K
  • Meslek UI Designer
  • Konum Bursa
  • Ad Soyad S** Ö**
  • Mesajlar 80
  • Beğeniler 37 / 34
  • Ticaret 0, (%0)
edcsmile süper bir açıklama olmuş ellerinize sağlık :)
caneraltinel ikodev

kişi bu mesajı beğendi.

wmaraci
wmaraci

caneraltinel caneraltinel WM Aracı Kullanıcı
  • Üyelik 30.10.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Girişimci & Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad C** A**
  • Mesajlar 252
  • Beğeniler 33 / 35
  • Ticaret 26, (%100)
Yardımınız için teşekkürler fakat tam olarak isteğim bu değil aslında,
form'un olduğu yerde formdan post edildikten sonra işlem başarılı olursa form kalkıp yerine başarılı yazması php deki if else ile bunu sağlıyordum fakat sayfa yenileniyordu amacım aynı işlemi sayfa yenilenmeden yapmak.

edcsmile adlı üyeden alıntı

Merhaba dostum,

Araştırman gereken ilk şey öncelikle JavaScript (jQuery-Ajax) işlemidir. jQuery ve Php arasında bağlantı oluşturmayı öğrendiğin zaman bırak formu sayfayı yenilemeden tüm işlemlerini neredeyse gerçekleştirebilirsin. Basit bir örnek verecek olursak ;
 

 

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)

caneraltinel adlı üyeden alıntı

form'un olduğu yerde formdan post edildikten sonra işlem başarılı olursa form kalkıp yerine başarılı yazması.


O zaman bir kaç değişilik yapıp, ajax.js dosyasında ki,

Bu kısmı
success: function(sonuc){
alert(sonuc);
}


Bunun ile değiştirdiğinizde istediğinizi elde edeceksiniz :)
success: function(sonuc){
$(".benimformum").remove();
$(".bildirim").text(sonuc);
}


Bu işlemden önce tek yapmanız gereken
tagından önce yeni bir html kodlaması ekliyoruz.


Bunları yaptıktan sonra, tarayıcı üzerinden çıktı vermek yerine, form clasına ulaşarak remove methoduyla html kodunu kaldırıp, bildirim div'ine geri dönen veriyi metin olarak güncelledik.

İyi günler :rolleyes:
caneraltinel

kişi bu mesajı beğendi.

caneraltinel caneraltinel WM Aracı Kullanıcı
  • Üyelik 30.10.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Girişimci & Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad C** A**
  • Mesajlar 252
  • Beğeniler 33 / 35
  • Ticaret 26, (%100)
Tam ihtiyacım olan buydu teşekkür ederim :))

edcsmile adlı üyeden alıntı

O zaman bir kaç değişilik yapıp, ajax.js dosyasında ki,

Bu kısmı
success: function(sonuc){
alert(sonuc);
}


Bunun ile değiştirdiğinizde istediğinizi elde edeceksiniz :)
success: function(sonuc){
$(".benimformum").remove();
$(".bildirim").text(sonuc);
}


Bu işlemden önce tek yapmanız gereken tagından önce yeni bir html kodlaması ekliyoruz.


Bunları yaptıktan sonra, tarayıcı üzerinden çıktı vermek yerine, form clasına ulaşarak remove methoduyla html kodunu kaldırıp, bildirim div'ine geri dönen veriyi metin olarak güncelledik.

İyi günler :rolleyes:
 

 

wmaraci
Konuyu toplam 7 kişi okuyor. (0 kullanıcı ve 7 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al