butterflyT
06.04.2007, 00:58
Anahtar kelimelerin : php field validation
includes/functions_validate.php dosyasını incele olayı çözebilirsin.
Ben de php sözdizimini bilmiyorum ama programlama bildiğim için anlaması çok zor değil.
Misal :
[syntax="php"]// ICQ number has to be only numbers.
if (!preg_match('/^[0-9]+$/', $icq))
{
$icq = '';
}[/syntax] Bu kod ile yazar ICQ alanına sadece sayı girilmesini istiyor. preg_match() ne işe yarıyor bilmiyorum ama koddan anlaşılıyor. İlk değer istenen şey, ikincisi ise değerlerin arandığı değişken. Eğer doğru ise fonksiyon 1, true değerine geri dönüyor, eğer yanlış ise 0 false değerine geri dönüyor. Geri dönüş değerini nerden tahmin ediyorum ! değilden. Fonskiyon yanlış, false 0 dönerse !0 1 değerini üreteceğinden if yapısına girer ve $icq değişkenine boş bir değer atar. Yani ziyaretçi buraya "blabla" yazsa bile formu kayıt ettikten sonra ICQ alanı boş kalır.
Sen bir de hatalı değer girildiğinde hemen uyarı versin istiyorsun. O zaman email validation kısmını incele.
[syntax="php"]$match_email = str_replace('*', '.*?', $row['ban_email']);
if (preg_match('/^' . $match_email . '$/is', $email))
{
$db->sql_freeresult($result);
return array('error' => true, 'error_msg' => $lang['Email_banned']);
}[/syntax]Bak burada return array ile ekrana hata mesajı yazdırıyor.
1- Alanı zorunlu yap.
2- ICQ daki gibi sadace rakam iste.
3- Yanlış giriş yapılırsa error = true yap.
Kolay gelsin.