Yükleniyor

Php ajax post nedir, kullanım yerleri nelerdir ?

Php ajax post işlemi jquery nin sağladığı bazı komutlar ile gerçekleşir. Çalıştırdığı jquery komutlar bilgisayar ram ini kullanır ve sunucuya verileri post yöntemi ile gönderir. Hazır bir kalıptır. Belli başlı yerleri değiştirilerek istenilen işlemler yapılır.

Kullanım amacı; sayfa yenilenmeden anlık olarak işlemler yapmaktır. Sayfa yenilenmeden dinamik bir şekilde belirli alanları değiştirebilir ve güncelleyebilirsiniz. Kısaca anlık olarak veri gönderimi-alımı yapmanızı sağlar.

Php ajax genellikle form işlemlerinde, il - ilçe seçimlerinde, e-ticaret sepet işlemlerinde, site içi aramalarda vb. alanlarda kullanılır. Tabi projenizin gerekçesine göre istediğiniz alanlarda da kullanabilirsiniz.


Aşağıda php ajax post un kullanımını görebilirsiniz, lütfen açıklama satırlarını dikkate alınız;
$.ajax({
    type: 'POST', //sayfa gönderme tipidir. Gönderilen verileri post olarak göndermesini söyledik.
    url: 'post_edilecek_sayfa.php', //verileri hangi sayfaya göndereceğini yazıyoruz. dosya_yolu/dosya.php
    data: { //data bölümünde gönderilen değişkenlerimizi tanımlıyoruz. değişkenlere değerlerini verdikten sonra virgül(,) ile ayırıyoruz.
        'degisken_adi_1': 'degisken_1_degeri', // 'istediginiz_degisken_adi' : 'gonderilen_degeri_veya_degiskende_olabilir.'
        'degisken_adi_2': 'degisken_2_degeri', // 'istediginiz_degisken_adi' : 'gonderilen_degeri_veya_degiskende_olabilir.'
        'degisken_adi_3': 'degisken_3_degeri' // 'istediginiz_degisken_adi' : 'gonderilen_degeri_veya_degiskende_olabilir.'
    },
    before: function() {
        //before işlemi veriler post olmadan önce yapılması gereken işlemlerdir.
        //loading ve ya lütfen bekleyiniz gibi komutları burada çalışır.
    },
    error: function(donen_hata_degeri) {
        //error eğer işlem herhangi sistem hatasına düştüyse çalışır.

        /*
        eğer sistem hatası olduysa hatayı otomatik olarak
        donen_hata_degeri ne atar ve bu alanda kullanmanıza olanak verir.

        ## donen_hata_degeri adini istediğiniz değişken ismi yapabilirsiniz.
        */
    },
    success: function(donen_deger_degiskeni) {
        //success işlem başarılı bir şekilde post olmuşsa demektir.
        /*
        eğer başarılı bir şekilde post olduysa post ettiğimiz sayfada echo yaptığımız alanı otomatik olarak
        donen_deger_degiskeni nine atar ve bu alanda kullanmanıza olanak verir.

        ## donen_deger_degiskeni adini istediğiniz değişken ismi yapabilirsiniz.
        */
    }
});

Php basit ajax örneği

index.php olarak kayıt edin.
<!doctype html>
<html>
<head>
    <title>Ajax Örneği | PHP Mutfağı</title>
</head>
<body>
    <input type="text" value="" id="verim" />
    <button type="button" id="ajax_gonder">AJAX GÖNDER</button>
    <div id="sonuc"></div>

    <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
    <!-- ajax post jqueryden türediği için jquery kodlarını kullanacağız -->
    <!-- bu yüzden jquery kütüphanesini dahil ettik ki jquery kodlarını çalıştıralım. -->
    
    <!-- !!!!!! JQUERY KÜTÜPHANESİNİ DAHİL ETMEDEN JQUERY KODLARINI ÇALIŞTIRAMAZSINIZ !!!!!! -->

    <script src="ajax.js"></script>
    <!-- ajax scriptlerimizi dahil ettik. -->
</body>
</html>
ajax.js olarak kayıt edin.
$("#ajax_gonder").click(function() {
    //bu click olayıda bir kalıptır tıklanma olaylarında kullanılır.
    //ajax_gonder idsine sahip nesneye tıklanıldığında bu fonksiyonu çağırmasını söyledik.
    $.ajax({
        type: 'POST', //sayfa gönderme tipidir. Gönderilen verileri post olarak göndermesini söyledik.
        url: 'ajax.php', //verileri hangi sayfaya göndereceğini yazıyoruz. dosya_yolu/dosya.php
        data: {
            'gonderilen': $('#verim').val()
            //'degisken_ismi' : 'degişken değeri'
            //ajax.php ye gonderilen adında bir değişken post ettik.
            //değişkenin değeri; verim idsine sahip inputun valuesi

            /*
            $('#verim').val()
            # işareti id değeri gireceğimizi belirtir. verim idsine sahip alanla işlem yapacağımızı belirttik.
            input olduğu için .val() diyerek value değerini almasını belirttik.
            eğer html tagı(div,p,a vs.) olsaydı .html() diyerek içerisindeki htmli alabiliriz.

            geri kalan kısmı bir kalıptır.
            */
        },
        before: function() {
            $("#sonuc").html("VERİ GÖNDERİLİYOR.");
            /*
            # işareti id değeri gireceğimizi belirtir. sonuc idsine sahip alanla işlem yapacağımızı belirttik.
            sonuc idsine sahip alanın html içeriğine bunu yaz dedik.
            */
        },
        error: function(donen_hata_degeri) {
            $("#sonuc").html("SİSTEMSEL BİR HATA OLUŞTU.");
            /*
            # işareti id değeri gireceğimizi belirtir. sonuc idsine sahip alanla işlem yapacağımızı belirttik.
            sonuc idsine sahip alanın html içeriğine bunu yaz dedik.
            */
        },
        success: function(donen_deger) {
            $("#sonuc").html(donen_deger);
            /*
            # işareti id değeri gireceğimizi belirtir. sonuc idsine sahip alanla işlem yapacağımızı belirttik.
            sonuc idsine sahip alanın html içeriğine donen_deger değişkenini yaz dedik.

            donen_deger otomatik olarak ajax.php bölümünde yazdırdığımız alanı değer olarak alır.
            */
        }
    });
});
ajax.php olarak kayıt edin.
<?php echo "GELEN VERİ => ".$_POST["gonderilen"]; ?>