html'de eğer form elemanlarına required niteliğini verirsen :valid ve :invalid sözde sınıflarını kullanarak kontrol yapabilirsin.
Kontrol işlemi için form'larına form classını ekle ve zorunlu alanlarına required niteliğini ekle.
<form action="" class="form">
<input type="text" placeholder="Kullanıcı adı" value="1" required> <br>
<input type="email" placeholder="E-posta" value="[email protected]" required> <br>
<input type="password" placeholder="Parola" minlength="3" value="123123" required> <br>
<select name="gender" required>
<option value="">Seç</option>
<option value="1" >Erkek</option>
<option value="2">Kadın</option>
</select><br>
<button type="reset">Reset</button>
<button type="submit">Kayıt ol</button>
</form>
Şu koduda javascript dosyana eklediğinde gerekli kontrolleri yapıp ona göre disabled değerini ekleyip kaldıracaktır.
const control = form => {
let invalids = form.querySelectorAll(':invalid'),
button = form.querySelector('button[type="submit"]');
console.log(invalids);
if (invalids.length === 0){
button.removeAttribute('disabled');
} else {
button.setAttribute('disabled', 'disabled');
}
}
let forms = document.querySelectorAll('.form')
forms.forEach(form => {
control(form);
form.addEventListener('reset', () => setTimeout(() => control(form), 1));
form.addEventListener('keyup', () => control(form));
form.addEventListener('change', () => control(form));
});
Demo: https://codepen.io/tayfunerbilen/pen/eYdZVNV
css ile daha kısa yolu
aynı işlemi css ile şöyle yapabilirdin
.form:invalid button[type="submit"] {
pointer-events: none;
opacity: .3;
}
.form:valid button[type="submit"] {
pointer-events: initial;
opacity: 1;
}
@webdevyusuf, jquery'de $() fonksiyonunu kullanarak seçme yaptığımız için $() içinde kullanıyoruz this'i. o da kütüphane içinde gerekli ayarları yapıp bize esneklik sağlıyor. Yani bu $(this) değilse prototurk(this) de olabilirdi öyle düşün.
this olarak kullanıyorsun :) ama tabi jquery'deki işlevleri kullanamazsın karşılıklarını bulman gerekir
php tarafında şu şekilde istediğin formata çevirebilirsin
$date = date('Y-m-d', strtotime('2019-12-06 00:00:00.000000')); // 2019-12-06
bilmiyorum işine yarar mı :)
klasör yapın hatalıdır, index hariç diğerlerini app gibi bir klasörde tutup index içinden include ederek çalıştır, yasaklamayıda app klasörüne yap, css image js gibi dosyalarında static diye bir klasörde dursun yani şöyle
app
- .htaccess // yasaklama için
static
img
js
css
index.php
.htaccess // genel işlemler için
Not: Lütfen şu kategori seçimini doğru şekilde yapın, rasgele kategori seçmenin bir mantığı yok sorun htaccess ile ilgili ve htaccess kategorisi var.
çünkü namespace ile birlikte kullanman gerek
şuradaki örneğe bak lütfen
https://github.com/verot/class.upload.php#how-to-use-it
eski sürümünü kullanıyorsun, son sürümünü şuradan indir ki böyle hatalar alma
https://github.com/verot/class.upload.php
aldığın hatada zaten class ismiyle metod isminin aynı olması, eskiden construct işlemi için böyle kullanılırdı artık hata alırsın bu şekilde
bunu sormak yerine açıp test etseydin zaten çalışmayacağını görürdün :)
alert("<b>hello world</b>")
uyarı olarak görürsün ama html kodların bir işe yaramaz. senin örneğinde sadece ekranda görmek istiyorsan " işaretlerinin başına " koyup dene çünkü alert içinde " işareti koymuşsun içinde kullanmak istiyorsan kaçış karakterini kullanman gerekir.
UNION ile iki tabloya bağlanıp şöyle bir şey deneyebilirsin
(SELECT logo_id as id, logo_kodu as kod, logo_url as url FROM logolar)
UNION
(SELECT url_id as id, url_kodu as kod, url_yolu as url FROM url)
LIMIT 5
ORDER BY rand()
burada dikkat etmen gereken bağlandığın tablolar aynı kolon adını döndürmeli o yüzden as deyimiyle yeniden adlandırıp aynı isimleri verdik.
isimler senin tablona uymayabilir kendine göre düzenleyip test edebilirsin.