lostyazilim

Jquery/Ajax ile MySQL veri güncelleme

5 Mesajlar 1.887 Okunma
lstbozum
wmaraci reklam

Haunebu Haunebu WM Aracı Kullanıcı
  • Üyelik 31.03.2014
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum İstanbul Anadolu
  • Ad Soyad M** A**
  • Mesajlar 3
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
...
$bolumler.delegate('.a_bolum','click',function() {
var secilen_a= $(this).attr('data-a');
var secilen_b= $(this).data('b');
var secilen_c = $(this).data('c');

$.ajax({
type: 'POST',
url: 'profil-duzenle.php',
data : 'c='+c,
cache: false,
beforeSend: function() {
$("#yukleniyor").addClass('yukleniyor_goster');
},
complete: function() {
$("#yukleniyor").removeClass('yukleniyor_goster');
},
success: function() {
alert(secilen_c);
}
});
});


Fazla uzun olmasın diye bütün kodları yazmadım. Eğer soracak olursanız secilen_a, secilen_b, secilen_c değişkenlerine değerler düzgün bir şekilde atanıyor. success sonrasındaki uyarı kutucuğu da düzgün bir şekilde çıkıyor. Sorun yalnızca veritabanının güncellenememesi.


require_once "../inc/baglanti.inc.php";
require_once "../inc/fonksiyon.inc.php";

// $a=p("a"); // p(a) fonksiyonu $_POST[degisken] degiskenini alıyor
// $b= p("b");
$c= p("c");
$guncelle = true;

//Değişkenlerden boş olan varsa $guncelle -> false
...

if ($guncelle == true) {
$s_id = $_SESSION["id"];
$sql = "UPDATE uye SET uye_c = :uye_c WHERE uye_id = :uye_id";
$profil_guncelle = $db_uye->prepare($sql);
//$profil_guncelle->bindParam(':uye_a',$b,PDO::PARAM_STR,255);
//$profil_guncelle->bindParam(':uye_b',$b,PDO::PARAM_STR,255);
$profil_guncelle->bindParam(':uye_c',$c,PDO::PARAM_STR,10);
$profil_guncelle->bindParam(':uye_id',$s_id,PDO::PARAM_INT);
$guncellendi = $profil_guncelle->execute(array(
':uye_c'=>$c,
':uye_id'=>$s_id
));

if ($guncellendi) {
$profil_sonuc[] = "
Profil bilgilerini güncelledik. Anasayfaya gitmek için tıkla
";
} else {
$profil_sonuc[] = "
Profil bilgilerini güncellerken bir veritabanı hatasıyla karşılaştık. Geri Bildirim Gönder veye tekrar dene
";
}
}

echo $bolum_kodu;
?>


Yukarıdaki .PHP'yi tek başına form kullanarak hem GET hem de POST metodları ile denedim. Sorun yok. Veritabanını sorunsuz güncelliyor. Ama değişkenleri ajax ile gönderdiğimde güncellemesi gereken alanı güncellemiyor onun yerine var olan veriyi siliyor. Eminim gözden kaçırdığım ufak bir nokta var ama bir türlü göremedim.
 

 

wmaraci
reklam

tiwaly tiwaly NodeJS / PHP / NoSQL Kullanıcı
  • Üyelik 10.10.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılımcı
  • Konum İzmir
  • Ad Soyad i** A**
  • Mesajlar 363
  • Beğeniler 135 / 104
  • Ticaret 7, (%100)
peki $_POST["c"] değerinin boş olmadığına emin misiniz. Yani değer php dosyasına geliyor mu ? Herhangi bir yerde echo ettirerek deneyebilir misiniz ? Ajax fonksiyonunuzun data bölümünde hata olabilir.
 

 

Haunebu Haunebu WM Aracı Kullanıcı
  • Üyelik 31.03.2014
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum İstanbul Anadolu
  • Ad Soyad M** A**
  • Mesajlar 3
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)

tiwaly adlı üyeden alıntı

peki $_POST["c"] değerinin boş olmadığına emin misiniz. Yani değer php dosyasına geliyor mu ? Herhangi bir yerde echo ettirerek deneyebilir misiniz ? Ajax fonksiyonunuzun data bölümünde hata olabilir.

Evet $_POST["c"] değeri boşmuş.


PHP içine şunları yazdım.
$_SESSION["d"] = "Deneme";
$_SESSION["c"] = $c;

.Js'nin bulunduğu sayfadaki çıktı
Deneme
 

 

tiwaly tiwaly NodeJS / PHP / NoSQL Kullanıcı
  • Üyelik 10.10.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılımcı
  • Konum İzmir
  • Ad Soyad i** A**
  • Mesajlar 363
  • Beğeniler 135 / 104
  • Ticaret 7, (%100)
data : 'c='+c, kısmını
data : ({c:c}),
şekline değiştirirseniz sorununuz çözülebilir.
 

 

wmaraci
wmaraci

Haunebu Haunebu WM Aracı Kullanıcı
  • Üyelik 31.03.2014
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum İstanbul Anadolu
  • Ad Soyad M** A**
  • Mesajlar 3
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)

tiwaly adlı üyeden alıntı

data : 'c='+c, kısmını
data : ({c:c}),
şekline değiştirirseniz sorununuz çözülebilir.


Maalesef hala aynı sonuç
 

 

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