Sweet Alert değiştirme
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
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (6)
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'
});
}
})
})
})
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'];
}
<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
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
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.