(Web Dünyasının Mikrofonu, Şikâyet Kutusu, Aşık Ol Kayıt Formu ve Daha Fazlası 😄)
Bazen bir web sitesine girersin, bir form açılır:
“Adın ne?”
“Bize e-postanı da ver…”
“Şu çerezleri kabul etmeye ne dersin?” 🍪
İşte o an anlarsın: Form hayatının içindedir.
Formlar olmasa:
❌ Üyelik yok
❌ Giriş yok
❌ Yorum yok
❌ Sepete ürün eklemek bile yok
❌ Sonsuza kadar tek taraflı bir web ilişkisi
Formlar; web sayfasıyla kullanıcı arasında duygusal bağı oluşturan unsurdur.
Bir nevi “Konuş benimle…” diyen dijital kapı 😌📨
🧠 1. HTML Form Nedir?
Bir HTML formu, kullanıcıdan veri alıp bunu sunucuya gönderen bir yapıdır.
Ama aslında sadece teknik bir şey değildir.
Formlar web sitelerinin:
- 📡 Veri bağlantısı
- 🗳 Kullanıcı anketçisi
- 💬 Mesaj taşıyıcısı
- 🎫 Giriş-çıkış kapısı
- 🧾 Sipariş faturasının başlangıcı
- ❤️ “Beni haberdar et” butonunun sebebi
gibi milyon işi birden görür.
Minicik bir tanım:
HTML Form = Kullanıcı + Inputlar + Buton + Sunucuya giden aşk mektupları 💌
🧱 2. Formun DNA’sı (form Etiketi)
Temel form yapısı şöyle başlar:
<form action="/veri-gonder" method="POST">
<!-- Buraya inputlar gelecek -->
</form>
🧩 action ne işe yarar?
Verinin nereye gönderileceğini söyler.
“Şu adrese UÇ!” der.
🚀 method ne işe yarar?
- GET → Veri URL’de görünür. Havalı gezinti.
- POST → Veri görünmez, gizli saklı mesajlaşma modu 😌
İpucu 💡:
Giriş formu → POST
Arama formu → GET
Kredi kartı formu → Kesinlikle POST, sakıncı yoktur ama URL’de görünürse geçmiş olsun 😂
🎨 3. Temel Input Türleri (Ve Aralarındaki Gizli Dedikodular)
Forms dünyasında her inputun bir kişiliği vardır.
Bak şimdi:
🔹 Text Input (Klasik Yakışıklı)
<input type="text" name="kullanici" placeholder="Adını yaz aşkım 💕">
Kimseye karışmaz, herkesle anlaşır.
Ne verirsen alır: İsim, soyisim, meslek, burç… (Burçları fazla ciddiye almaz 😄)
İpucu:
- Maksimum uzunluk vermeyi unutma:
<input type="text" maxlength="30">
Yoksa kullanıcı sana paragraf yazar 😉
🔹 Password Input (Gizemli Kişi)
<input type="password" name="sifre" placeholder="Şifreni kimseye söyleme 😎">
Bakarsın yıldızlı görünür.
Kimse ne yazdığını bilemez. Sherlock bile çözemez 🔍
İpucu:
- Autocomplete’i kapatabilirsin:
<input type="password" autocomplete="new-password">
🔹 Email Input (Kuralları Seven Çalışkan)
<input type="email" name="email" required>
Yanlış yazınca sinir olur:
“@ koymadın, bu e-posta değil!” diye trip atar.
👉 Sunucu tarafında doğrulama şart, bu sadece nazlı uyarıdır 😉
🔹 Number Input (Matematikçi)
<input type="number" name="yas" min="18" max="99">
18 yaş altına asla izin vermez.
Tam bir kural delisi.
🔹 Date Input (Takvim )
<input type="date" name="dogum">
Kullanıcıya tarih seçtirir.
“Bugünü mü seçtin? Yok canım tesadüf 📅😏”
🔹 Textarea (Derin Düşünür – Dert Ortağı)
<textarea name="yorum" rows="5" placeholder="Dök içini…"></textarea>
Kullanıcı derdini döker, roman yazar, şiir bırakır…
O hep sabırla dinler 😌
İpucu:
resize: none; ile boyutunun değiştirilmesini engellersin ↓
<textarea style="resize:none;"></textarea>
🔹 Checkbox (Kalabalığı Seven)
<input type="checkbox" name="ilgi" value="kodlama"> Kodlama
“Beni de seç, istersen hepsini seç!” diyen gönlü geniş input 😄
🔹 Radio (Kıskanç Olan)
<input type="radio" name="cinsiyet" value="kadin"> Kadın
Tek birini seçtirir.
“Ya ben ya o!” der. Kıskançlığı tavan 😂
🔹 Select / Dropdown (Cool ve Organize)
<select name="ulkeler">
<option value="tr">Türkiye</option>
<option value="fr">Fransa</option>
</select>
Sakin, derli toplu, elit…
İpucu:
Çoklu seçim için:
<select name="hobiler" multiple>
🧪 4. Form İçinde Butonlar (Görevin Kutsal Temsilcileri)
🟠 Submit Butonu
<button type="submit">Gönder</button>
Bu çocuk kraldır.
Ona basılınca herkes göreve çıkar.
🟡 Reset Butonu
<button type="reset">Temizle</button>
Bütün emeği çöpe atar 😅
Kullanıcı yanlışlıkla basınca “AHH!” diye bağırır.
🟢 Button (Sıradan Tip)
<button type="button">Tıklama Denemesi</button>
Bir iş yapmaz.
JavaScript çağırırsan gelir.
🧠 5. Form Doğrulama (Validation) – Keklik Avı 🤣
Kullanıcı yanlış yazınca “Hop nereye?” diyen koruma görevlisidir.
🟣 HTML5 ile Doğrulama
<input type="text" required minlength="3">
🟣 Pattern ile doğrulama (Regex krallığı)
<input type="text" pattern="[A-Za-z]{3,10}">
Ama regex kafa yakabilir…
“Bu ne biçim şifre kardeşim?” dedirtir 😅
🏎 6. Form Performansı İçin Altın İpuçları
☑ Placeholder kısa olsun
Uzun cümleler gözü yorar.
☑ Label kullan
Erişilebilirlik önemli aşkım.
<label for="ad">Adın</label>
<input id="ad" type="text">
☑ input name değerlerini mantıklı koy
Sunucu tarafında veriyi kolay okursun.
☑ Autocomplete kullan
<form autocomplete="on">
Kullanıcı “Aa nasıl hatırladı?” diye mutlu olur 😄
☑ required kullan
Boş form = kalp kırıklığı 💔
🛸 7. En Basit Formdan En Havalı Forma Örnekler
✏ Basit bir iletişim formu:
<form action="/ilet" method="POST">
<label>Adınız:</label>
<input type="text" name="ad" required>
<label>E-posta:</label>
<input type="email" name="email" required>
<label>Mesajınız:</label>
<textarea name="mesaj" required></textarea>
<button type="submit">Gönder</button>
</form>
✨ JavaScript destekli form (Havalı uyarı veren)
<form id="kayitFormu">
<input type="text" id="kullanici" placeholder="Kullanıcı adı">
<button type="submit">Kaydol</button>
</form>
<script>
document.getElementById("kayitFormu").addEventListener("submit", function(e){
const kullanici = document.getElementById("kullanici").value;
if(kullanici.length < 3){
alert("Kullanıcı adı en az 3 karakter olmalı aşkım!");
e.preventDefault();
}
});
</script>
💖 Sonuç: Formlar Web Dünyasının Gizli Kahramanlarıdır
Onlar olmadan:
- Giriş yapamazsın
- Kayıt olamazsın
- Alışveriş yapamazsın
- Siteyle konuşamazsın
- Yorum bile yazamazsın
Formlar, web dünyasının kalbidir.
Sen bir form açarsın…
Kullanıcı dünyasını değiştirirsin ✨💘
