我想在用户点击页面中的链接时更新用户的数据,这里是链接的结构。
<a href='#' class='a_bolum' data-fakulte='foo' data-bolumkodu='boo' data-bolum='bar'>bar</a>
使用Jquery / AJAX添加链接。
profil_f.JS
$bolumler.delegate('.a_bolum','click',function() {
var secilen_fakulte = $(this).attr('data-fakulte');
var secilen_bolum = $(this).data('bolum');
var secilen_bolum_kodu = $(this).data('bolumkodu');
$.ajax({
type: 'POST',
url: 'profil-duzenle.php',
data : 'bolumkodu='+secilen_bolum_kodu,
cache: false,
beforeSend: function() {
$("#yukleniyor").addClass('yukleniyor_goster');
},
complete: function() {
$("#yukleniyor").removeClass('yukleniyor_goster');
},
success: function() {
alert(secilen_bolum_kodu);
}
});
});
成功分配了secilen_fakulte,secilen_bolum和secilen_bolum_kodu。
PROFIL-duzenle.PHP
<?php
require_once "../inc/baglanti.inc.php";
require_once "../inc/fonksiyon.inc.php";
// $fakulte =p("fakulte");
// $bolum = p("bolum");
$bolum_kodu = p("bolumkodu");
$guncelle = true;
if ($guncelle == true) {
$s_id = $_SESSION["id"];
$sql = "UPDATE uye SET uye_bolum_kodu = :uye_bolum_kodu WHERE uye_id = :uye_id";
$profil_guncelle = $db_uye->prepare($sql);
//$profil_guncelle->bindParam(':uye_fakulte',$fakulte,PDO::PARAM_STR,255);
//$profil_guncelle->bindParam(':uye_bolum',$bolum,PDO::PARAM_STR,255);
$profil_guncelle->bindParam(':uye_bolum_kodu',$bolum_kodu,PDO::PARAM_STR,10);
$profil_guncelle->bindParam(':uye_id',$s_id,PDO::PARAM_INT);
$guncellendi = $profil_guncelle->execute(array(
':uye_bolum_kodu'=>$bolum_kodu,
':uye_id'=>$s_id
));
if ($guncellendi) {
$profil_sonuc[] = "<div class='profil_sonuc basarili'>Profil bilgilerini güncelledik. Anasayfaya gitmek için <a href='../profil.php'>tıkla</a></div>";
} else {
$profil_sonuc[] = "<div class='profil_sonuc hatali'>Profil bilgilerini güncellerken bir veritabanı hatasıyla karşılaştık. <a href='../geribildirim'>Geri Bildirim Gönder</a> veye tekrar dene</div>";
}
}
echo $bolum_kodu;
?>
我测试了PHP部分,发送表格到profil-duzenle.php。我尝试了GET和POST两种方法。它完美地运作。更新MySQL数据库。如果我在发送之前使用ajax尝试它,那么完成和成功的部分工作。但更新部分不起作用。 profik-duzenle.php和profil_f.js在同一个文件夹中。我错过了什么?
我不知道它是否有效但是当我使用ajax时,这里是firefox的网络选项卡
更新 我发现$ _POST []变量是空的,如果我用ajax发送它们但仍然不知道为什么