使用PDO和Jquery / AJAX更新MySQL数据库

时间:2014-08-12 14:32:29

标签: php jquery mysql ajax pdo

我想在用户点击页面中的链接时更新用户的数据,这里是链接的结构。

<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的网络选项卡 I don't know hot it works but here is network tab of firefox when i use ajax

更新 我发现$ _POST []变量是空的,如果我用ajax发送它们但仍然不知道为什么

0 个答案:

没有答案