Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.
Aktivasyon mailiniz gelmediyse buraya tıklayın.
05, 2008, 09:08:32 am
42712 Mesaj 9331 Konu Gönderen: 17904 Üye
Son üye: RafiX
Turk-Php.Com Forum  |  Yardım Forumları  |  Genel Yardım  |  str_replace kullanıp verileri db'ye yazdırırken hata alıyorum. « önceki sonraki »
Sayfa: [1] Yazdır
Yazan Konu: str_replace kullanıp verileri db'ye yazdırırken hata alıyorum.  (Okunma Sayısı 644 defa)
eagle_one
Yeni Kullanıcılar
*
Offline Offline

Mesaj Sayısı: 8


Üyelik Bilgileri
str_replace kullanıp verileri db'ye yazdırırken hata alıyorum.
« : 13, 2007, 12:25:05 pm »

Kod:
if ($gonder) {

if ( $_POST['isim'] && $_POST['soyisim'] && $_POST['sifre'] && $_POST['mail'] ) {

@mysql_connect("localhost" , "root" , "şifrem" ) or die ("mysql'e bağlanılamadı");
@mysql_select_db ("db_ismi" ) or die ("mysql'i seçilemedi" ) ;

$isim = str_replace("<" , "&lt;" , "$isim" ) ;
$isim = str_replace(">" , "&gt;" , "$isim" ) ;

$veri = mysql_query("INSERT INTO deneme (isim,soyisim,sifre,mail) VALUES('$isim','$soyisim','$sifre','$mail')") ;

if ($veri) {

print "verileriniz işlenmiştir" ;
}
else {
print " verileriniz işlenemedi bir hata oluştu" ;
}
}
else {

print "eksik alan bırakmayınız" ;

}
}

else {

?>

forumun html kodları

<?php
}
?>

İstediğim şu ;

bu verileri db'ye yazdırırken "<" ve ">" karakterlerini &lt ve &qt 'ye dönüştürmesi... Text alanına <samet yazdığımda sorun yok , db'ye &ltsamet diye işliyor(sorunsuz şekilde) ama <samet> yazdığımda bu veriyi db'ye yazdıramıyorum. Sorun kelimenin sonundaki > karakteri ama bunu nasıl çözerim ?

Yardımınızı bekliyorum. Teşekkürler.
Logged
enginna
PHP Memuru
***
Offline Offline

Mesaj Sayısı: 836



Üyelik Bilgileri
Ynt: str_replace kullanıp verileri db'ye yazdırırken hata alıyorum.
« Yanıtla #1 : 13, 2007, 06:49:37 pm »

bu işlemi htmlspecialchars() fonksiyonu ile yapabilirsin.
Logged

bir fikrim var. internetteki siteleri kaydeden bir site yapalım. isteyen bu siteler içinde arama yapsın. sitenin domaini'de google.com olsun nasıl?   Cheesy
eagle_one
Yeni Kullanıcılar
*
Offline Offline

Mesaj Sayısı: 8


Üyelik Bilgileri
Ynt: str_replace kullanıp verileri db'ye yazdırırken hata alıyorum.
« Yanıtla #2 : 14, 2007, 03:06:43 am »

Peki o zaman sql injection'dan korunurmuyum  ?

****************

htmlspeacialchars'ı denedim o da aynı hatayı verdi. Bunun çözümü yokmu ?
« Son Düzenleme: 14, 2007, 05:19:43 am Gönderen: eagle_one » Logged
DarkElder
PHP Stajyeri
**
Offline Offline

Mesaj Sayısı: 403


Üyelik Bilgileri
Ynt: str_replace kullanıp verileri db'ye yazdırırken hata alıyorum.
« Yanıtla #3 : 14, 2007, 06:33:42 pm »

sql injection < ve > karakterleri ile yapılmaz. Bu karakterler sadece kaydın çıktısı görüntülenirken html tagı olarak algılanmaması için &lt; ve &gt; ye çevrilir.

sql injectiondan korunmak için dikkat etmen gereken karakterler sorguna göre ' veya " dır.
Logged
eagle_one
Yeni Kullanıcılar
*
Offline Offline

Mesaj Sayısı: 8


Üyelik Bilgileri
Ynt: str_replace kullanıp verileri db'ye yazdırırken hata alıyorum.
« Yanıtla #4 : 15, 2007, 03:01:22 am »

Peki bahsettiğim sorunu nasıl giderebilirim ? Yani ilk karakteri tanıyor ama ikincisini tanımıyor. ? ( ilk mesajımdaki soru )
Logged
Sayfa: [1] Yazdır 
« önceki sonraki »
Gitmek istediğiniz yer:  


Turk-Php.Com Forum | SMF Forum Software © 2005, Simple Machines LLC. All Rights Reserved.