Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

MySQL kayıt esnasında ' karakterinin \' a dönüşmesini engellemek

MySQL'e kayıt yaparken ' karakterleri \' a dönüşüyor. Bunu nasıl önleyebilirim? (Localde sorun yokken hostta bunu yapıyor)
Formdan değişkenleri alırken aşağıdaki gibi bir kullanım var.

$haber_ad	= trim(mysql_real_escape_string($_POST['haber_ad']));
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • teacher0610 adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    54 cevap - 29 soru
    Bunlar escape karakterler. Eğer bu şekle dönüşmezse sorgularında güvenlik açıkları oluşur. (SQL injection önlenmiş olur.) Bunu ekrana yazdırırken de
    stripslashes($veri);
    


    şeklinde kullanmak gerekir.
    • gblack adlı üyenin fotoğrafı gblack
      öyleyse sorun kaydetmeden değil göstermeden kaynaklanıyor ve ortada bir hata yok. teşekkürler.
      12 yıl önce yazılmış

Cevaplar

  • gblack adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    14 cevap - 8 soru
    pekala gösterimde her seferinde stripslashes() kullanmamak için sunucudan bir ayar yapabilir miyim? local de sorunsuz gösteriyor çünkü ve şu anda tüm sistemde ekrana çıktılara stripslashes eklemek oldukça zaman alacak gibi görünüyor.
    • fahrenhayt46 adlı üyenin fotoğrafı fahrenhayt46
      istediğin gibi bir ayar yok, ancak server da escape karakterleri göstermesinin nedeni php.ini yapılandırmasında magic_quotes_gpc ayarının açık olmasıdır. bu ise dışardan gelen tüm verilere \ ekler.
      Bu verileri ekrana yazarkende stripslashes() ile temizlemelisin.
      senin veriyi kayıt etme yönteminde yani mysql_real_escape_string ile verilere slash ekler ancak bu slash'lar veri tabanına kaydedilmez. Buda demek oluyorki php.ini yönergesinde magic_quotes_gpc ayarı açık durumda.
      12 yıl önce yazılmış