$('.loginForm').on('submit',function (e){
e.preventDefault();
//Aşağıda görüldüğü gibi .loginForm yazmak yerine this yazarak ilgili formu seçtim
let data = $(this).serialize();
// Eğer bu buton form ögesinin bir seviye altında ise yani direkt olarak çocuğu ise
$(this).children("button").prop('disabled', true);
// Ya da bu buton form ögesinin içerisinde bir yerlerde ise (çocuk, torun veya daha aşağısı)
$(this).find("button").prop('disabled', true);
alert()
})
Sayfanın head tagları içerisinde;
<?php
$tarihler = ['10-29', '04-23', '05-19', '08-30', '01-26']; // m-d formatında (ay-gün)
if (in_array(date('m-d'), $tarihler)) { ?>
<style>
body {
background-color: rebeccapurple;
}
</style>
<?php }
Sayfada hata olmasını hiçbir geliştirici istemez. Bu hataları daha geliştirme aşamasında fark edip düzeltmek için gelişmiş bir IDE kullanmanız gerekiyor. Bunun için PHPStorm bulunmaz bir nimet, (VScode için de bazı eklentileri kurduktan sonra oluyor fakat ne kadar uğraştıysam PHPStorm kadar iyi hata ayıklama yaptıramadım). Bunun için varsa sizin yoksa bir tanıdğınızın üniversite e posta adresini kullanarak PHPStorm'u bir yıllığına ücretsiz edinebilirsiniz. Şiddetle tavsiye edilir.
Öte yandan illa bir hata yakalama olayı yapacaksanız bir Exception sınıfı yazabilirsiniz. Bunun için PHP'nin yerleşik Exception sınıfından türetilen (extends) bir Exception sınıfı oluşturmanız gerekiyor. Hata çıkarabilecek kodlarınızı da try catch ile sarmalayıp bu sınıf üzerinden gerekli yönlendirme/basit hata gösterme işlemlerini yaptırabilirsiniz.
Olabildiğince dinamik yapmaya çalıştım ama yine de $deger değişkeni biraz statik sayılabilir
$array = [
[
'kombin_63' => [
87
],
'kombin_15' => [
23, 24, 25, 26
]
]
];
$combine = array_pop($array[0]);
$deger = current($array[0])[0];
foreach ($combine as $k => &$v)
$v = "$deger,$v";
print_r($combine);
// Array
// (
// [0] => 87,23
// [1] => 87,24
// [2] => 87,25
// [3] => 87,26
// )
Hocam illa player ile oynatmak zorunda mısınız ki. Düz Audio nesnesi ile oynayın. play() metodu promise döndürüyor, ses bitince yönlenir
let audio = new Audio('open.mp3')
audio.play().then(() => {
location.href = './'
})
.catch(err => {
console.log(err)
})
Hocam bir aralar ben de uğraşıyordum selenium ile ama detaylarını unuttuk. Gecko driver indirdiniz mi mesela.
Ayrıca BeautifulSoup ve request modüllerine de bir göz atın, belki yapmak istediğinizi bu modüller ile daha kolay yapabilirsiniz
$("form").on("submit", function (e) {
e.preventDefault();
$.ajax({
method: 'POST',
url: '<?php echo $arow->site_url; ?>/sistem/giris.php',
data: $(this).serialize(),
dataType: "json",
beforeSend: () => {
$('#sonuc').html('<div class="spinner-border" role="status"><span class="visually-hidden">Loading...</span></div>');
},
success : response => {
if (response.status) {
// işlem başarılı ise yapılacak işlemler
} else {
// İşlem başarısız ise yapılacak işlemler
}
},
error:() => {
alert('Bir hata oldu. Lütfen daha sonra tekrar deneyin.');
}
});
});
<?php
$response = [];
if (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest')
$response = [
'status' => false,
'text' => 'Hatalı istek'
];
if ($_POST) {
$uye_mail=strip_tags(trim($_POST['uye_mail']));
$uye_sifre=strip_tags(trim(sha1(md5($_POST['uye_sifre']))));
$unutma=isset($_POST['beni_hatirla']);
$kriptosifre=mb_substr($uye_sifre,0,32);
$uyesor=$db->prepare("SELECT * FROM uye WHERE uye_mail=:mail AND uye_sifre=:sifre AND uye_durum=:durum");
$uyesor->execute(array(
':mail' => $uye_mail,
':sifre' => $kriptosifre,
':durum' => 1
));
if ($uyesor->rowCount) {
$_SESSION['uye_mail']=$uye_mail;
$songiris=$db->prepare("UPDATE uye SET uye_sonip=:i, uye_songiris=:t WHERE uye_mail=:um");
$songiris->execute([':i'=>IP(),':t'=>date('Y-m-d H:i:s'), ':um'=>$uye_mail]);
if ($unutma)
setcookie("uye", sha1(md5($uye_mail)), time()+60*60*24*180, "/");
$response = [
'status' => true,
'text' => 'Giriş başarılı, yönlendiriliyorsunuz...'
];
} else {
$response = [
'status' => false,
'text' => 'Giriş bilgileri hatalı veya aktivasyon işlemi tamamlanmadı'
];
}
}
echo json_encode($response);