Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Karakter Sınırlama Engelleme Yardım

spywaredz

0
Onaylı Üye
Üye
Katılım
5 Eylül 2011
Mesajlar
14
Açılan Konu
6
Tepki puanı
0
PHP:
<?php  
mysql_connect('localhost','*******','*****');
mysql_select_db('******');
mysql_query("SET NAMES 'utf8'");


$filename=$_POST['filename'];
$adsoyad=$_POST['adsoyad'];
$yas=$_POST['yas'];
$facebook=$_POST['facebook'];


mysql_connect('localhost','bitinyac_face','052565');
mysql_select_db('bitinyac_face');
mysql_query("SET NAMES 'utf8'");

 if( empty($adsoyad) || empty($yas) || empty($facebook) ) {
       echo "Form alanını eksik doldurdunuz.";
       echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"3;URL=register2.php\">";
    exit();
} 


if(mysql_query("INSERT INTO `images` (`filename` ,`adsoyad`,`yas`,`facebook`)VALUES ('$filename','$adsoyad','$yas','$facebook');"))
{
	print "<br/>Üyeliğiniz başarıyla oluşturuldu...";	
}else{
	print "Sistem hatası. Tekrar Üye Olunuz...";
}

?>

Merhaba arkadaşlar, bende bir form var küçük bir kayıt formu. Fakat ben buna adsoyad ve facebook adlı değişkenlerde sınırlama getirmek istiyorum. Çünkü yönlendirme kodu eklediğimde burdan yönlendiriyor. Bunu engellemek istiyorum. Ne yapabilirim?:WSli2:
 

Lansewebtr

0
Onaylı Üye
Üye
Katılım
30 Aralık 2010
Mesajlar
256
Açılan Konu
8
Tepki puanı
3
html kısmında karakter sınırlaması için
HTML:
<input un içine maxlength="10" />
gibi bi tabir koyup en fazla 10 karakter yazmasını sağlayabilirsin. ama kullanıcı bunu aşar tarayıcıdan düzenleyip daha fazla yazar yollar diyosan php kısmında da strlen($string) şeklinde $string değişkeninin kaç karakterden oluştuğunu öğrenebilir ve buna göre tepki verdirebilirsin. mesela
PHP:
if( strlen( $_POST['isim'] ) > 10 ){ echo 'hata'; }
dersin. yok biraz daha garanti diyosan bi de veritabanında sütunların maksimum kaç karakter olcaklarını ayarlarsın..
 

spywaredz

0
Onaylı Üye
Üye
Katılım
5 Eylül 2011
Mesajlar
14
Açılan Konu
6
Tepki puanı
0
-

Benim Dediğim bu değilki. Yinede adam 10 harflik bir kod yazabilir sitemi çökerticek. Ben mesela <,>,é,'," Bu karakterleri engellemek istiyorum. Yada şöyle söyleyeyim. Sadece büyük harf,küçük harf istiyorum.
 

Lansewebtr

0
Onaylı Üye
Üye
Katılım
30 Aralık 2010
Mesajlar
256
Açılan Konu
8
Tepki puanı
3
hmm o zaman replace komutlarını kullanarak istemediğin karakterleri çıkarabilirsin. Veya direk mysql_real_escape_string fonksiyonuna güvenebilirsin.
 

Troypc

0
Onaylı Üye
Üye
Katılım
17 Eylül 2010
Mesajlar
849
Açılan Konu
58
Tepki puanı
6
Konum
Ankara
Evet
PHP:
$gelen = mysql_real_escape_string("$gelen");

Sorununuzu fazlasıyla çözer. Yada arkadaşın da dediği gibi eğer özel bir çökertme komutu biliyorsanız:

PHP:
$gelen = str_replace("<","", $gelen);
$gelen = str_replace(">","", $gelen);
$gelen = str_replace(";","", $gelen);
$gelen = str_replace("komut","", $gelen);

gibi...
 

Lansewebtr

0
Onaylı Üye
Üye
Katılım
30 Aralık 2010
Mesajlar
256
Açılan Konu
8
Tepki puanı
3
PHP:
$değişken = preg_replace( '/[^a-zA-Z]/', '', $değişken );
Bu kodla mesela harfler hariç herşeyi silebilirsin.
 
Üst