v2.5.2
Giriş yap

Sweet Alert değiştirme

emmir2
579 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

Cevap yaz
Cevaplar (6)
emmir2
1003 gün önce
if(isset($_POST['miktar'])){
                     $islem = $db->prepare("INSERT INTO form SET 
                            adsoyad = ?,
                            telefon = ?,
                            miktar = ?,
                            banka = ?,
                            durum = ?");
                      $islem = $islem->execute(array(
                          $_POST['adsoyad'],
                          $_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 json_encode(['status' => (bool) $query['durum']]);
                  }
$(function () {
    $("#form1").on("submit", function (e) {
        e.preventDefault()
        $.ajax("ajax.php", {
          method: "POST",
            beforeSend() {
                console.log('Gönderi işleniyor')
            },
            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',
                        allowEscapeKey: false,
                        allowOutsideClick: false,
                        showConfirmButton: false,
                        onBeforeOpen: () => {
                            Swal.showLoading()
                        },
                    })
                    interval = setInterval(() => {
                        $.ajax("ajax.php", {
                            data: {
                                checkStat: response.id
                            },
                            method: "POST",
                            dataType: "json"
                        }).done(e => {
                            if (e.status) {
                                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'
                });

            }
        })
    })
})
emmir2
1003 gün önce

@abdullahx hocam mail ile ulaştım size

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'];
}
emmir2
1004 gün önce
<script>
    $(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(){
                 Swal.fire({
                title: 'Lütfen Bekleyiniz',
                html: 'Yatırımınızı Kontrol Ediyoruz',// add html attribute if you want or remove
                allowOutsideClick: true,
                onBeforeOpen: () => {
                    Swal.showLoading()
                },
            });
                },
                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'
              });

                },
            })
        })
    })
</script>
  if($_POST){
             $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
                        ];

                      }else{
                        $response = [
                               'status' => false
                           ];
                          
            }
                 echo json_encode($response);
          }

Form verileri bu şekilde işlem başarılı ise sweet alert ile bekleyin inceliyoruz yazısı geliyor
ben panelden durmunu 1 yaptıktan sonra çıkan sweet alertin Para yatırma işleminiz onaylandı yazısı çıkartmak istiyorum

codepacks
1004 gün önce

Soruda eksiklik var sanki
siz veriyi adminde onaylayıp karşı tarafa sweet alert ile
onaylandı bilgisi göndermekmi istiyorsunuz
yoksa admin panelinden onaydan sonra size başarılı başarısız mesajını göstermesinimi istiyorsunuz ??
tam olarak açıklarsan yardımcı oluruz

abdullahx
1004 gün önce

Hocam biraz daha detay verebilirseniz yardımcı olurum. Form gönderildikten sonra nasıl bir kod çalışıyor. Sunucuya sürekli bir istek mi gönderiyor yatırım onaylandı mı diye? Post gönderildikten hemen sonra panelde onay işlemi nasıl gerçekleşecek, bunu sürekli takip etmeniz gerek gibi.