folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder [PHP] Database'e Veri Atma Sorunu



[PHP] Database'e Veri Atma Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    Selam hocalar,

    şimdi MySQL database imin dili (belki bununla alakası vardır diye yazıyorum) utf_8_turkish_ci, database imde ürünler bulunuyor. Bir admin panelinden bu ürünlere ekleme silme ve güncelleme yapıyorum. Herşey gayet güzel çalışıyor. Fakat ekleme ve güncelleme bölümünde "6'lı Mini Paket" ibaresi kullanıldığında database e ekleme ya da güncelleme başarısız oluyor. Sebebi ne olabilir ?


    since 2005 // tbt
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ZINDIK
    ZINDIK's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    Koruma tarzı kod, waf falan birşeyler var mı? Muhtemelen tırnaktan dolayı yapıyor. (')

    $str = trim(preg_replace('/\s*\([^)]*\)/', '', $str));
    ZINDIK tarafından 05/Mar/13 22:27 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sahinka
    sahinka's avatar
    Kayıt Tarihi: 04/Mayıs/2012
    Erkek

     ' ""  engellemiştir 

    sahinka tarafından 05/Mar/13 22:14 tarihinde düzenlenmiştir

    imza
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    ' bu ifadeden kaynaklanıyor hocam,

    Bunu temizletmen gerekiyor, yok temizlemeyedebilirsin ancak önüne ters bölü işareti koymalısın,

     

    Birde verii tabanına bilgiyi eklerken

    $urunadi = mysql_real_escape_string($_POST["urunadi"]);

    mysql_query("insert into asd `urunadi` values ('".$urunadi."')");

     

    Böyle eklemeyi dene, ama eklemeye çalıştığın ' bu ifade yukarıda bulunan sorguya eklendiğinde hata verdirtir.

      mysql_real_escape_string( );  di o fonksiyon sanırım.

    yada direk kendinde yazabilirsin 

     

    eregi replace gibi php nin hazır fonksiyonları ile 

     

    Olmadı 

     

    addslashes();  ile korut, eklerken çekerkende bunun tam tesi ile stripslashes di sanırım çekersen bi sorun kalmaz...


    Php for SEO nun ardından Php for Gcode (CNC)
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    addslashes(); işimi görücek sanırım teşekkür ediyorum hocalar


    since 2005 // tbt
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Maresca
    Maresca's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek

    mysql_query('insert into tabloadin(baslik,icerik)values("'.$baslik.'","'.$icerik.'")'); şeklindedir seninki ondan.

    mysql_query("insert into tabloadin(baslik,icerik)values('".$baslik."','".$icerik."')");

    yap.


    Gel bili bili gates
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    $title= $_POST['title'];

    dan sonra

    $title =addslashed($title);

     

    yaptıktan sonra database e ekleyince sıkıntı kalmadı, teşekkür ediyorum tekrar :)


    since 2005 // tbt
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek
    manyaki bunu yazdı

    $title= $_POST['title'];

    dan sonra

    $title =addslashed($title);

     

    yaptıktan sonra database e ekleyince sıkıntı kalmadı, teşekkür ediyorum tekrar :)

    Bunu db den çekip tekrar ekrana bastırıken de 

    \' gibi gelecektir onuda tam tersi fonsiyonla ortadan kaldırabilirsin.

    Kolay gelsin


    Php for SEO nun ardından Php for Gcode (CNC)
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kvasir
    kvasir's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek

    addslash ile hiç uğraşmasana direk filter_input ile al, sanitize_string ile filtrele.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    addslashes yada mysql_real_escape_string işini fazlasıyla görecektir.

    Aman hocam dikkat et bunlar güvenliktir. Bir araştır derim.

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    mysql_ ile başlayan işlevlerin yerine mysqli daha iyisi PDO kullanın. Parametreli sorgular yazmaya alışın (mysql_ destek vermez). Sırasıyla ' " sekme, alt satır, ? ... gibi karakterler özel olduğundan veritabanına girerken eskeyp etmelisiniz (escape).


    Olaylara karışmayın!
Toplam Hit: 1001 Toplam Mesaj: 11