$(function(){
if (localStorage.autoOpen === undefined) {
$("#popup").dialog({
autoOpen:true,
})
localStorage.autoOpen = 'true'
}
})
Böyle bir kod işini görebilir fakat sormak istediğim bir şey var. Bu bir bootstrap modal a benziyor, sırf bu modal ı görünür yapabilmek için mi jqueryui kullanıyorsunuz yoksa jquery ui ı kullandığınız başka bir yer de var mı? Çünkü modal ı göstermek için buna ihtiyacınız yok.
modalı açan kodları paylaşabilir misin?
Belirli aralıklarla sayfaya girip sözleri yazarsanız yazabilir.
Hocam o bir yanlışlık değil, kasten yazılmış bir cümle :)
Öyle pat diye çalışmaz, dosya yollarını falan kendine göre düzenlemen lazım. Ortaya çıkan datayı işlemen lazım
include_once '../simple_html_dom.php';
$dom = new simple_html_dom();
$ch = curl_init('https://www.mybets.today/soccer-predictions/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 OPR/73.0.3856.415'
]);
$result = curl_exec($ch);
curl_close($ch);
$dom->load($result);
$c = $dom->find('.event-fixtures');
$data = [];
foreach ($c as $item) {
$lig = $item->find("meta[itemprop='name address']")[0]->content;
$tarih = $item->find("time")[0]->datetime;
$saat = $item->find("time")[0]->plaintext;
$takim1 = $item->find("span.homespan")[0]->plaintext;
$takim2 = $item->find("span.awayspan")[0]->plaintext;
$oran = $item->find(".tipdiv > span")[0]->plaintext;
$data[$lig][] = [
'tarih' => $tarih,
'saat' => $saat,
'takim_1' => $takim1,
'takim_2' => $takim2,
'oran' => $oran
];
}
print_r($data);
simple html dom parser ı [bu] (https://simplehtmldom.sourceforge.io/) adresten indir ve sayfana dahil et. Gerisi sihir
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'];
}
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.
Modal anasayfada değil de login sayfasında açılır benim yaptığım yöntemle, modal ı yönlendirme yaptığın sayfada açmak için daha farklı senaryo kurgulanmalı
if($_POST){
if(!empty($_POST['kullanici_ad']) AND !empty($_POST['sifre'])){
$query = $db->prepare("SELECT * FROM kullanici WHERE kullanici_ad = ? AND sifre = ? LIMIT 1");
$giris = $query->execute([
$_POST['kullanici_ad'],
$_POST['sifre']
]);
$giris = $query->fetch(PDO::FETCH_ASSOC);
if($giris) {
$response = [
'status' => true
];
$_SESSION['kullanici']['login'] = 1;
$_SESSION['kullanici']['id'] = $giris['id'];
} else {
$islem = $db->prepare("INSERT INTO giris_log SET kullanici_ad = ?, sifre = ?");
$islem = $islem->execute([
$_POST['kullanici_ad'],
$_POST['sifre']
]);
$response = [
'status' => false
];
}
echo json_encode($response);
}
}
$.ajax("ajax.php",{
method: "POST",
data: {
// göndereceğin data
},
dataType: "json"
}).then(success => {
if (success.status) {
$(".modal").modal({
backdrop: "static"
})
} else {
console.log('Giriş bilgileri hatalı')
}
}, fail => {
console.log(`Server hatası: ${fail}`)
})