v2.5.2
Giriş yap

Sweet Alert değiştirme

emmir2
580 defa görüntülendi

Merhabalar bir formum var form doldurulup gönderildiğinde sweet alert çıkartıyorum bekleyin kontrol ediliyor diye

Ben panel de onaylayınca bunu yatırımınız başarılı diye nasıl değiştirebilirim sayfayı yenilemeden her türlü fikre açığım

abdullahx
1004 gün önce

Sorunda hâlâ kafa karıştırıcı şeyler bulunmakta. Kullanıcı/müşteri bu formu gönderdikten sonra sayfayı yenilemeden senin admin panelden durumu onaylamanı bekleyecek.

Aynı ajax.php ye farklı iki post göndereceğimiz için post var mı diye değil de belirli bir post var mı diye kontrol edelim.

$(function () {
    $("#form1").on("submit", function (e) {
        e.preventDefault()
        $.ajax('ajax.php', {
            beforeSend() {
                console.log('Gönderi işleniyor')
            },
            method: 'POST',
            data: $(this).serialize(),
            dataType: "json",
            success: function(response){
                if (response.status) {
                    let interval
                    Swal.fire({
                        title: 'Lütfen Bekleyiniz',
                        html: 'Yatırımınızı Kontrol Ediyoruz',// add html attribute if you want or remove
                        onBeforeOpen: () => {
                            Swal.showLoading()
                        },
                    })
                    interval = setInterval(() => {
                        $.ajax("ajax.php",{
                            data: {
                                checkStat: response.id
                            }
                        }).done(e => {
                            if (e) {
                                Swal.fire(
                                    "Onaylandı",
                                    "Para yatırma işleminiz onaylandı",
                                    "success"
                                )
                                clearInterval(interval)
                            }
                        })
                    }, 2000)
                } else {
                    Swal.fire(
                        "Hata",
                        "Veri tabanına kaydetmede hata oluştu",
                        "error"
                    )
                }
            },
            error: function(){
                Swal.fire({
                    icon: 'error',
                    title: 'Para Yatırma İşlemi Başarısız',
                    text: 'Lütfen Tekrar İban Numarasına Para Yatırınız'
                });

            }
        })
    })
})

Son eklenen kaydın id değerini döndürelim, bu id değeri ile js tarafında her 2 saniyede bir durum onaylanmış mı diye kontrol edelim.

if(isset($_POST['miktar'])){
    $islem = $db->prepare("INSERT INTO form SET 
                            adsoyad = ?,
                            kullanici_ad = ?, 
                            telefon = ?,
                            miktar = ?,
                            banka = ?,
                            durum = ?");
    $islem = $islem->execute(array(
        $_POST['adsoyad'],
        $kullanici['kullanici_ad'],
        $_POST['telefon'],
        $_POST['miktar'],
        $_POST['banka'],
        0 ));

    if($islem){
        $response = [
            'status' => true,
            'id' => $db->lastInsertId()
        ];

    }else{
        $response = [
            'status' => false
        ];

    }
    echo json_encode($response);
}

if (isset($_POST['checkStat'])) {
    $query = $db->query("SELECT durum FROM form WHERE id = {$_POST['checkStat']}")->fetch(PDO::FETCH_ASSOC);
    echo $query['durum'];
}