(2)
% işareti ile ilgili problem (php)
function suzgec($veri){ $veri = htmlspecialchars($veri); $veri = trim($veri); $veri = addslashes($veri); $veri = mysql_real_escape_string($veri); $veri = strip_tags ($veri); return $veri; }gibi bir fonksiyonum var. sitedeki yazıları bu filtreden geçirip veritabanına kaydediyorum.ancak % işaret
function suzgec($veri){
$veri = htmlspecialchars($veri);
$veri = trim($veri);
$veri = addslashes($veri);
$veri = mysql_real_escape_string($veri);
$veri = strip_tags ($veri);
return $veri;
}
gibi bir fonksiyonum var. sitedeki yazıları bu filtreden geçirip veritabanına kaydediyorum.
ancak % işaretiyle ilgili sorun var. %değer yazdıktan sonra, % ve %'den sonra gelen hiçbir karakteri veritabanına kaydetmiyor. muhtemelen filtre otomatik siliyor.
buna yukarıdaki fonksiyonlardan hangisi sebep oluyor olabilir? ne yapmamı tavsiye edersiniz?
0
filtreleri tek tek kapatıp deneyebilirsin. burdan bakınca çok anlamlı gelmedi bana :)
0
bu kadar fonksiyonu kullanmandaki amaç nedir ? bu süzgeçten gelen veriyi veritabanına kayıt ediyorsan trim ve mysql_real_escape_string dışındakileri kullanmanı gerektirecek bir durum yok. veri tabanından okuyup, kullanıcıya gösteriyorsan htmlspecialchars dışındakilere gerek yok. Php'yi haybeye yoruyorsun.
Sıralamadan dolayı saçmalıyor olabilir. Örneğin addslashes %'ın önüne \ ekliyordur mysql_real.. başka bir karakter ekliyordur en alttaki strip_tags'da o karakterler arasını siliyordur. Tahminim strip_tags yönünde strip tags'ı kaldırıp sonucu hem veritabanına kayıt ederken bir oku hem de normal php olarak oku arasında fark var mı incele.
0
bir kac yazar once
(
24.08.12)