Tatsız doğrulama php. PHP kullanarak doğrulama ve veri temizleme. Kendi doğrulama kuralınızı kaydetme
Web uygulamaları oluştururken, özellikle kullanıcılardan veri almayla uğraşmanız gerektiğinde güvenliği ciddiye almak önemlidir.
Genel bir güvenlik kuralı kimseye güvenmemektir, bu nedenle kullanıcıların formlara her zaman doğru değerleri girmelerine güvenemezsiniz. Örneğin, kullanıcı alana doğru e-posta adresini girmek yerine yanlış bir adres, hatta bazı kötü amaçlı veriler girebilir.
Kullanıcı verilerinin doğrulanması söz konusu olduğunda, bu işlem istemci tarafında (web tarayıcısında) veya sunucu tarafında yapılabilir.
Daha önce istemci tarafı doğrulama yalnızca JavaScript kullanılarak yapılabiliyordu. Ancak her şey değişti (veya neredeyse değişti), çünkü HTML5'in yardımıyla doğrulama, JavaScript'te karmaşık doğrulama komut dosyaları yazmaya gerek kalmadan tarayıcıda yapılabilir.
HTML5 Kullanarak Form DoğrulamaHTML5, şu etiket özelliklerine dayalı oldukça sağlam bir mekanizma sağlar: type, model ve require. Bu yeni özelliklerle, veri doğrulama işlevlerinin bir kısmını tarayıcıya aktarabilirsiniz.
Form doğrulamada nasıl yardımcı olabileceklerini anlamak için bu özelliklere bakalım.
tür özelliğiBu özellik, veri işleme için hangi giriş alanının görüntüleneceğini belirtir; örneğin aşağıdaki gibi tanıdık bir alan:
Bazı giriş alanları, ek kod yazmaya gerek kalmadan zaten standart doğrulama yöntemleri sağlar. Örneğin, girilen değerin geçerli bir e-posta adresinin şablonuyla eşleştiğinden emin olmak için bir alanı kontrol eder. Bir alana yanlış karakter girilmesi durumunda, değer düzeltilinceye kadar form gönderilemez.
Aşağıdaki demoda e-posta alanı değerleriyle oynamayı deneyin.
Sırasıyla numaraları, URL'leri ve telefon numaralarını doğrulamak için ve gibi başka standart alan türleri de vardır.
Not: Telefon numarası formatları, telefon numaralarındaki rakam farklılıkları ve format farklılıkları nedeniyle ülkeden ülkeye farklılık gösterir. Sonuç olarak, spesifikasyon, telefon numaralarını kontrol etmek için bir algoritma tanımlamamaktadır, bu nedenle, bu özelliğin yazıldığı sırada, tarayıcılar tarafından yeterince desteklenmemektedir.
Şanslıyız ki, telefon numarası doğrulaması, düzenli ifadeyi bağımsız değişken olarak alan ve daha sonra ele alacağımız model özelliği kullanılarak yapılabilir.
desen özelliğiDesen özelliği muhtemelen birçok ön uç geliştiricinin sevinçten zıplamasına neden olacaktır. Bu özellik, alana girilen verilerin doğruluğunu kontrol etmek için kullanılacak bir normal ifadeyi (JavaScript düzenli ifade formatına benzer) kabul eder.
Düzenli ifadeler, metni ayrıştırmak ve işlemek için kullanılan bir dildir. Genellikle karmaşık bulma ve değiştirme işlemlerinin yanı sıra girilen verilerin doğruluğunu kontrol etmek için kullanılırlar.
Bugün, düzenli ifadeler en popüler programlama dillerinin yanı sıra birçok komut dosyası dilinde, düzenleyicide, uygulamada, veritabanlarında ve komut satırı yardımcı programlarında bulunmaktadır.
Düzenli ifadeler (RegEX), tek tek karakterler, kelimeler veya karakter kalıpları gibi bir metin dizesini eşleştirmek için güçlü, kısa ve esnek bir araçtır.
Desen özelliğinin değeri olarak normal bir ifadeyi ileterek, belirli bir giriş alanı için hangi değerlerin kabul edilebilir olduğunu belirleyebilir ve kullanıcıyı hatalar hakkında bilgilendirebilirsiniz.
Giriş alanlarının değerini doğrulamak için normal ifadelerin kullanımına ilişkin birkaç örneğe bakalım.
Telefon numaralarıDaha önce de belirtildiği gibi, farklı ülkelerdeki telefon numarası formatlarındaki tutarsızlıklar nedeniyle tel alanı türü tarayıcılar tarafından tam olarak desteklenmemektedir.
Örneğin, bazı ülkelerde telefon numaralarının formatı xxxx-xxx-xxxx'tir ve telefon numarasının kendisi de şuna benzer: 0803-555-8205.
Bu kalıbın eşleştiği normal ifade şöyledir: ^\d(4)-\d(3)-\d(4)$ . Kodda bu şu şekilde yazılabilir:
Telefon numarası:
Alfasayısal değerler Özellik gerekliBu, formu göndermek için belirli bir alanın değerinin doldurulması gerektiğini belirtmek için kullanılan bir Boole özelliğidir. Bu özelliği bir alana eklediğinizde tarayıcı, formu göndermeden önce kullanıcının bu alanı doldurmasını isteyecektir.
Bu bizi, geliştiricilere biraz zaman kazandırabilecek JavaScript kullanarak alan doğrulama uygulamaktan kurtarır.
Örneğin: veya (XHTML uyumluluğu için)
Yukarıda gördüğünüz demoların tümü gerekli özniteliği kullanıyor; dolayısıyla herhangi bir alanı doldurmadan formu göndermeyi deneyerek deneyebilirsiniz.
ÇözümForm doğrulama için tarayıcı desteği oldukça iyidir ve daha eski tarayıcılar için çoklu doldurmaları kullanabilirsiniz.
Bu kontroller saldırganlar veya botlar tarafından kolayca atlatılabileceğinden, yalnızca tarayıcı tarafı doğrulamaya güvenmenin tehlikeli olduğunu belirtmekte fayda var.
Tüm tarayıcılar HTML5'i desteklemez ve komut dosyanıza gönderilen verilerin tümü formunuzdan gelmez. Bu, kullanıcıdan gelen verileri nihai olarak kabul etmeden önce sunucu tarafında doğruluğunun kontrol edilmesi gerektiği anlamına gelir.
Form gönderim verilerini daha ileri işlemler için almadan önce formunuza yapılan girişin doğrulanması çok önemlidir. Formda çok fazla alan olduğunda PHP doğrulama betiği çok karmaşık hale gelir. Üstelik, yaptığınız formların çoğu için aynı veya benzer doğrulamayı yaptığınızdan, form doğrulamaları için çok fazla mükerrer çaba harcanır.
Bu genel PHP form doğrulayıcı betiği, formunuza doğrulamalar eklemenizi çok kolaylaştırır.
Formdaki her öğeyle bir dizi "doğrulama tanımlayıcısı" oluşturup ilişkilendiririz. “Doğrulama tanımlayıcısı” gerçekleştirilecek doğrulama türünü belirten bir dizedir. Örneğin, "req" gerekli anlamına gelir, "alfa" yalnızca alfabetik karakterlere izin verilir vb. anlamına gelir.
Formdaki her alanın sıfır, bir veya daha fazla doğrulaması olabilir. Örneğin, giriş boş olmamalı, 25 karakterden az olmalı, alfa-sayısal vb. olmalıdır.
Formdaki her giriş alanı için bir dizi doğrulama tanımlayıcısını ilişkilendirebilirsiniz.
PHP form doğrulama komut dosyasını indirinPHP form doğrulama komut dosyasını aşağıdan indirebilirsiniz:
Zip dosyası form doğrulama komut dosyası formvalidator.php'yi, belgeleri ve kullanım örneklerini içerir.
İlk argüman formdaki giriş alanının adıdır. İkinci argüman, gerekli doğrulamanın türünü söyleyen doğrulama tanımlayıcısıdır. Üçüncü argüman, doğrulama başarısız olursa görüntülenecek hata mesajıdır.
$inpname: $inp_err
\n"; )) ÖrnekAşağıdaki örnek fikri daha net hale getirecek
Ad: E-posta:
Özel Doğrulama EklemeDoğrulama tanımlayıcıları tarafından sağlanmayan özel bir doğrulama eklemek istiyorsanız bunu yapabilirsiniz. İşte adımlar:
class MyValidator, CustomValidator'ı genişletir ( function DoValidate(&$formars,&$error_hash) ( if(stristr($formars["Comments"],"http://")) ( $error_hash["Comments"]="URL'ye izin verilmez yorumlarda"; false değerini döndür; ) true değerini döndür; ))
$doğrulayıcı = new FormValidator(); $validator->addValidation("İsim", "req", "Lütfen Adı giriniz"); $validator->addValidation("Email","email", "E-posta girişi geçerli bir e-posta değeri olmalıdır"); $validator->addValidation("Email", "req", "Lütfen E-postayı doldurun"); $custom_validator = new MyValidator(); $validator->AddCustomValidator($custom_validator);
Özel doğrulama işlevi, diğer doğrulamalardan sonra otomatik olarak çağrılacaktır.
Doğrulama Tanımlayıcıları TablosuTüm doğrulama tanımlayıcılarının listesi aşağıdadır:
Doğrulama Tanımlayıcısı | Kullanım |
talep | Alan boş olmamalıdır |
maxlen=??? | Girilen verilerin uzunluğunu maksimuma kadar kontrol eder. Örneğin, izin verilen maksimum boyut 25 ise doğrulama tanımlayıcısını “maxlen=25” olarak verin. |
minlen=??? | Girilen dizenin uzunluğunu gereken minimum değere kadar kontrol eder. örnek “minlen=5” |
yıllık | Verilerin alfabetik veya sayısal karakterler dışında başka karakterler içerip içermediğini kontrol edin |
alnum_s | Yalnızca alfabetik, sayısal ve boşluk karakterlerine izin verir |
sayı | Sayısal verileri kontrol edin |
alfa | Alfabetik verileri kontrol edin. |
alfa_lar | Alfabetik verileri kontrol edin ve boşluklara izin verin. |
e-posta | Alan bir e-posta alanıdır ve verilerin geçerliliğini doğrular. |
lt=??? daha az=??? | Verilerin iletilen değerden küçük olduğunu doğrulayın. Yalnızca sayısal alanlar için geçerlidir. örnek: değerin 1000'den küçük olması gerekiyorsa doğrulama açıklamasını “lt=1000” olarak verin |
gt=??? büyüktür=??? | Verilerin iletilen değerden büyük olduğunu doğrulayın. Yalnızca sayısal alanlar için geçerlidir. örnek: değerin 10'dan büyük olması gerekiyorsa doğrulama açıklamasını "gt=10" olarak verin |
normal ifade=??? | Değerin normal ifadeyle eşleşmesi gerektiğini normal bir ifadeyle kontrol edin. örnek: “regexp=^(1.20)$” en fazla 20 alfabetik karaktere izin verir. |
seçmeyin=?? | Bu doğrulama tanımlayıcısı seçili giriş öğeleri (listeler) içindir. Normalde, seçme liste kutularında 'Birini Seç' yazan bir öğe bulunur. Kullanıcı bu seçeneğin dışında bir seçenek seçmelidir. Bu seçeneğin değeri 'Birini Seçin' ise doğrulama açıklaması "dontselect=Birini Seçin" olmalıdır |
seçme | Bu doğrulama tanımlayıcısı onay kutuları içindir. Kullanıcı verilen onay kutusunu seçmemelidir. ?? yerine onay kutusunun değerini belirtin. Örneğin, donselectchk=on |
olmalı | Bu doğrulama tanımlayıcısı onay kutuları içindir. Kullanıcı verilen onay kutusunu seçmelidir. ?? yerine onay kutusunun değerini belirtin. Örneğin, Shouldselchk=on |
radyoyu seçme | Bu doğrulama tanımlayıcısı radyo düğmeleri içindir. Kullanıcı verilen radyo düğmesini seçmemelidir. ?? yerine radyo düğmesinin değerini girin. Örneğin, radyoyu seçmeyin=HAYIR |
radyo seç | Bu doğrulama tanımlayıcısı radyo düğmeleri içindir. Kullanıcı verilen radyo düğmesini seçmelidir. ?? yerine radyo düğmesinin değerini girin. Örneğin, radyo seç=evet |
selmin=?? | Bir onay kutusu grubundan en az n sayıda onay kutusunu seçin. Örneğin: selmin=3 |
yalnız | Radyo grubunu zorunlu kılar. Kullanıcı radyo grubundan en az bir öğe seçmelidir. |
eqelmnt=??? | formdaki iki öğeyi karşılaştırın ve değerlerin aynı olduğundan emin olun. Örneğin, 'şifre' ve 'şifreyi onayla'. ???'yı değiştirin diğer giriş öğesinin adıyla birlikte. Örneğin: eqelmnt=confirm_pwd |
POST veya GET verilerinin doğrulanmasından bahsedeceğiz, ancak prensipte bu, çerezler gibi diğer yöntemlerle alınan verilere de uygulanabilir. Bir web uygulaması geliştirirken, kullanıcılarla etkileşim kurmak için bir arayüz yazmanız ve doğal olarak kullanıcıların sunucuya veri göndermesi için çeşitli formlar oluşturmanız gerekir. örneğin bunlar yorum olabilir. Alınan verilerin türe, boyuta ve belirtilen aralığa uyup uymadığının kontrol edilmesi gerektiğinin herkes için açık ve net olduğunu düşünüyorum. Öncelikle sistemin, web sitesinin veya veri tabanının güvenliği için bu gereklidir, çünkü... Yanlış iletilen veriler veya kasıtlı olarak kötü oluşturulmuş bir istek, saldırganın erişimini açabilir.
İkinci olarak, doğrulanmamış veriler yanlışsa komut dosyasının, sistemin veya tüm sunucunun dengesiz çalışmasına neden olabilir. Bu nedenle, tüm verilerin kontrol edilmesi ve iki kez kontrol edilmesi gerekiyor; belki birisi aşırı paranoyaya gerek olmadığını söyleyecektir, ancak bu konuda bunun aşırı olamayacağına inanıyorum.
Hiçbir bahane altında, hiçbir koşulda kullanıcılardan alınan verilere güvenmeyin. Alınan verileri bir kez daha kontrol eden bir kod yazamayacak kadar tembeliz veya mevcut doğrulama yöntemlerinin yeterli olduğunu umuyoruz ve bunun sonucunda kendimize taviz veriyoruz.
Konudan küçük bir alıntı:
Projeler üzerinde çalışmak, web siteleri, scriptler ve diğer sistemleri geliştirmek ve programlamak (çalışma süresi dışında) neredeyse boş zamanımın tamamını alıyor, yani bu işi günde mümkün olan maksimum saat boyunca yapıyorum. Zaman zaman eğlence için ya da sadece merak için bir şeyi test etmeye ihtiyaç duyulur. Sonuç olarak, ev yapımı motorlar veya eski versiyonların CMS'si kullanılarak aceleyle yapılan siteler, benzer test laboratuvarı fareleri haline gelir. Tabii ki, yukarıdakilerin tümü çarpık yazılmış kodlardan, veri kontrolü eksikliğinden muzdariptir ve çeşitli hatalarla doludur. Aslında, çoğu durumda, bu tür sitelerde yaptığım bir saatlik deneylerde, birçok ciddi güvenlik açığı bulmayı başardım ve bunların çoğu, gelen verilerin yetersiz doğrulanmasından kaynaklanıyor. Son zamanlarda bu duruma genellikle JavaScript + Ajax'tan alınan POST verilerini işleyen komut dosyalarında rastlanmaktadır.
Görünen o ki, Ajax kullanarak bu komut dosyalarını yazan programcılar, tüm isteklerin arka planda, kullanıcının bilgisi olmadan veya sayfayı yeniden yüklemeden gerçekleştiğinden, verilerin özellikle kontrol edilmesine gerek olmadığına inanıyorlar.
Kural olarak, bu senaryolardan pek çoğunun o kadar deliklerle dolu olduğu ortaya çıkıyor ki, fazla çaba harcamadan daha büyük bir delik açıp kabuklarını su basmayı başarıyorlar. elbette, yalnızca deneme amaçlıdır ve başka bir şey değildir (bu tür sitelerin yönetimi her zaman mevcut güvenlik açıkları konusunda bilgilendirilir).
Doğrulamanın öneminin herkes için açık olduğunu düşünüyorum. Uzun bir süre boyunca her seferinde aynı kod parçasını yazdım, ardından çoğu çok ilkel olan ve kural olarak (dahil edilen) dosyaların farklı bölümlerine dağılmış olan kendi veri doğrulama işlevlerimi kullandım. Kısa süre sonra, projelerim için ödünç aldığım verileri doğrulamak için her biri kendi sınıfını uygulayan Zend, CI, Kohana PHP çerçeveleriyle tanışmaya başladım. Sonunda CI sınıflarından birini ihtiyaçlarıma göre uyarlamaya karar verdim, ancak programlama bloglarından birinin yazarının bununla zaten ilgilendiği ortaya çıktı. Daha sonra çalışmalarını yani değiştirilmiş CodeIgniter kütüphanesini paylaşıyorum.
Aşağıdaki koda bakalım:
Kodu görüntüle PHP
require_once "validator.class.php"; $doğrulayıcı = yeni Doğrulayıcı() ; $validator -> set_rules ("isim", "Adınız", dizi ("gerekli" =>, "alfa" => ) ); $validator -> set_rules ("email" , "E-postanız" , array ("gerekli" => "%s alanı gerekli" , "valid_email" => ) ); if ($doğrulayıcı -> çalıştır () ) ( echo "Doğrulama başarılı oldu"; ) else ( echo $doğrulayıcı -> get_string_errors () ; ) |
Örnekte de görebileceğiniz gibi ilk satıra sınıf dosyasını dahil ediyoruz. validator.calss.php senaryomuza. Daha sonra sınıfın bir örneğini oluşturuyoruz ve nesneyi bir değişkene kaydediyoruz. $doğrulayıcı.
Daha sonra yöntemi kullanarak $validator->set_rules($field, $label, $rules) doğrulama için alanları ayarlayın.
Bu yöntem 3 parametre alır:
Doğrulama için tüm alanlar ayarlandıktan sonra, yöntemi kullanarak doğrulayıcıyı başlatıyoruz. $validator->run(). Doğrulama başarılı olursa bu yöntem değeri döndürür DOĞRU, aksi takdirde herhangi bir hata varsa geri döner YANLIŞ.
Hata mesajlarını almanın üç yöntemi vardır:
Varsayılan olarak hata mesajları bir etikete sarılır . Tasarımınızı ayarlamak için yöntemi kullanın set_error_delimiters($önek, $sonek). Örneğin şöyle:
Hata mesajları artık şu şekilde görünecektir: div sınıfla "hata"
Gördüğünüz gibi her şey çok basit.
Kodu görüntüle PHP
$validator -> set_error_delimiters("",""); |
Doğrulama kurallarını ayarlamak için yöntemi kullanabilirsiniz. set_rules($alanlar)çok boyutlu bir ilişkisel diziyi iletir. Bir örneğe bakalım:
Kodu görüntüle PHP
$rules = array ( array ( "alan" => "isim" , "etiket" => "Adınız" , "kurallar" => array ( "gerekli" => "%s alanı gerekli" , "alfa" = > "%s alanı yalnızca harfler içermelidir" ), array ( "field" => "e-posta" , "label" => "E-posta adresiniz" , "kurallar" => array ( "gerekli" => "% s alanı gerekli" , "valid_email" => "%s alanı geçerli bir e-posta adresi içermelidir" ) ) ) ; $doğrulayıcı -> set_rules ($kurallar) ; |
Gördüğünüz gibi, ilk örnekteki doğrulama kurallarının aynısını yalnızca çok boyutlu bir ilişkisel dizi biçiminde yazdım. Belirli bir durumda size en uygun yöntemlerden herhangi birini kullanabilirsiniz.
Peki bu sınıf hangi doğrulama kurallarını destekliyor?
Bu sınıfa herkesin karşılaştığı en yaygın doğrulama kurallarını getirdim. İşte bu kuralların tam listesi:
gerekli | Alan boşsa FALSE değerini döndürür |
tamsayı | Değer bir tamsayı değilse FALSE değerini döndürür |
batmadan yüzmek | Değer sayısal bir değer değilse FALSE değerini döndürür |
geçerli_url | Değer geçerli bir URL değilse FALSE değerini döndürür |
geçerli e-posta | Değer geçerli bir e-posta adresi değilse FALSE değerini döndürür |
geçerli_ip | IP adresi geçerli değilse FALSE değerini döndürür |
maçlar | Öğe başka bir alan öğesinin değeriyle eşleşmiyorsa FALSE değerini döndürür |
alfa | Öğe yalnızca harflerden fazlasını içeriyorsa FALSE değerini döndürür |
geçerli_captcha | Oturum alanındaki değer form alanının değerine eşit değilse FALSE değerini döndürür |
geçerli tarih | Öğe geçersiz bir tarih içeriyorsa FALSE değerini döndürür |
Bu kuralların çoğu PHP 5'te kullanıma sunulan filtreleri kullanır.
İsterseniz Validator sınıfına gerekli fonksiyonları ekleyerek doğrulama için kurallar kümesini her zaman genişletebilirsiniz.
İşlenen POST veri değerini almak için aşağıdaki yöntemi kullanın:
Kodu görüntüle PHP
Tipik olarak bu yöntem, formun başarılı bir şekilde işlenmesi üzerine formu temizlemek için çağrılır.
Herkese iyi akşamlar (daha çok gece gibi - editörün notu). Bugün bunu biraz geliştireceğiz. Öncelikle PHP'de form doğrulamanın nasıl yapıldığını öğrenelim ve bazı güvenlik manipülasyonlarını yapalım.
Bu nedenle, aşağıdaki koda bakın ve aşağıdaki değişiklikleri ve değişikliklerin aşağıdaki nedenlerini not edin. Tüm yeni satırları renkle vurguladım.
Form alanlarının adı değiştirildi. Şunu sorabilirsiniz: Buna neden ihtiyacımız var? Çok basit, sana cevap vereceğim. Bildiğim kadarıyla bazı spam botları form arayan siteleri tarıyor ve formları bu alanların adlarına göre dolduruyor. Teorik olarak, eğer bir eşleşme bulamazlarsa evlerine giderler ki biz de bunu istiyoruz. Elbette bu korumanın derecesinin çok iyi olduğunu düşünmüyorum ama bize zarar vermez ve spam e-postalar 1 harf azalırsa bu iyi olur =).
E-posta adresinin doğru girilip girilmediği kontrol ediliyor. 17. satır, bize olumlu bir yanıt verilmesi durumunda kontrol edilecek olan elseif operatörünü kullanıyor, yani e-posta adresinin hiç eksik olduğunu, yani girilmediğini söylüyor. Burada girilen adresi karşılaştırmamızı sağlayan preg_match fonksiyonunu kullanıyoruz. Düzenli ifade. Belki daha sonra düzenli ifadeler hakkında kısaca yazacağım, ancak şimdilik düzenli ifadenin dizemizin kontrol edildiği bir tür şablon oluşturduğunu bilmekte fayda var. Ve eğer bizim durumumuzda girilen adres ifadeyle eşleşmiyorsa, o zaman tekrar bir hata görüntülenecektir. Örneğin, burada birkaç normal ifade daha var:
|^[-а-яе\s\.,;:\?!]+$|i– bu normal ifade yalnızca Rus alfabesini ve boşluk, nokta, virgül vb. gibi bazı karakterleri kullanmanıza olanak tanır.
#http://[-a-z0-9_.]+[-a-z0-9_:@&?=+,.!/~*’%$]*\.(html?|php)#i– ve bu ifade, İnternet'teki bir adresin doğru yazılışını kontrol etmenizi sağlar.
Daha sonra, bir mektup göndermek için tüm kodumuzun zaten aktarıldığı else operatörünü kullanıyoruz. İstediğiniz miktarda doğrulama kurallarını kendiniz oluşturabilirsiniz, örneğin bir e-posta adresini kontrol etmek için yenilerini eklemeniz yeterlidir; mutlu olursunuz.
İrtibat kurulacak kişi:
İletişim E-posta:
İleti:
Yabancı hiçbir şeye başvurmadan PHP formlarınızı bu şekilde doğrulayabilirsiniz. Bir dahaki sefere formlar konusundaki bir yazıda jQuery'deki formların doğrulanmasının ele alınacağını düşünüyorum. Bu arada yorumlarınızı ve dileklerinizi bekliyorum. Herkese iyi geceler ve mutlu sabahlar =).
Bu ve sonraki bölümlerde form verilerini doğrulamak için PHP'nin nasıl kullanılacağı gösteriliyor.
PHP Form DoğrulamasıPHP formlarını işlerken GÜVENLİĞİ düşünün!
Bu sayfalarda PHP formlarının güvenlik göz önünde bulundurularak nasıl işleneceği gösterilecektir. Form verilerinin doğru şekilde doğrulanması, formunuzu bilgisayar korsanlarından ve spam gönderenlerden korumak için önemlidir!
Bu bölümlerde üzerinde çalışacağımız HTML formu çeşitli giriş alanlarını içerir: zorunlu ve isteğe bağlı metin alanları, radyo düğmeleri ve gönder düğmesi:
Yukarıdaki formun doğrulama kuralları aşağıdaki gibidir:
İsim | Gerekli. + Yalnızca harf ve boşluk içermelidir |
E-posta | Gerekli. + Geçerli bir e-posta adresi içermelidir (@ ve . ile) |
İnternet sitesi | İsteğe bağlı. Varsa geçerli bir URL içermelidir |
Yorum | İsteğe bağlı. Çok satırlı giriş alanı (textarea) |
Cinsiyet | Gerekli. Birini seçmelisin |
İlk önce formun düz HTML koduna bakacağız:
Metin AlanlarıAd, e-posta ve web sitesi alanları metin giriş öğeleridir ve yorum alanı bir metin alanıdır. HTML kodu şuna benzer:
İsim:
E-posta:
İnternet sitesi:
Yorum:
Cinsiyet alanları radyo düğmeleridir ve HTML kodu şöyle görünür:
Cinsiyet:
Dişi
Erkek
Diğer
Formun HTML kodu şöyle görünür: