Merhaba,
Yaklaşık 7 yıl önce oluşturduğum ve birçok sitede kullandığım, üzerinde sonradan herhangi bir editleme yapmadığım CKEditör ile textarea da post ettiğim kodlar çalışmaz oldu. Basit bir kelimeyi (Örneğin: test) normal şekilde upload ederken uzun veya içerisinde HTML kodları olan yaıları ise post etmiyor. Mysql tablosunda post edilen alan longtext olarak ayarlı. Aynı kodları (birebir iki farklı sitenin kodlarını indirerek diğer test alanlarında denedim) hem localde XAMMP hemde farklı bir cPanel ile yönetilen hostta denediğimde iste herhangi bir problem yaşanmıyor. Hosting firması ise suçu tamamen bana atıyor. Örneğin aşağıdaki paragrafı post edemiyorum. İki farklı ortamda çalışıpta bu host firmasında çalışmamasının anlamı sizce nedir?
Post edilmeye çalışılan paragraf:
Dünyanın ender yetiştirdiği eşsiz bir komutan ve dahi bir yönetici olan büyük Önder Atatürk'ün dünya milletlerine bıraktığı bağımsızlık ve eşitlik düşüncesi, sonsuza değin takdirle tatbik edilecektir. Büyük Önder Gazi Mustafa Kemal Atatürk'ü, vatanı ve milleti adına yaptığı büyük işler için şükranla anıyor, manevi huzurunda saygıyla eğiliyoruz. Ruhu şad olsun. Türk Milletinin her bir ferdi Ulu Önder Atatürk'ün getirdiği ilke ve devrimlerin gönüllü ve azimli birer koruyucusu olmaktan büyük bir onur duymaktadır.
CKEditör Mysql Problemi
9
●140
- 12-11-2020, 21:59:39Hosting firması ile görüşün tek tırnak problemi olabilir, veya tek tırnakları replace edebilirsiniz ayrıca ben aşağıdaki fonksiyonu kullanıyorum belki faydasını görürsünüz
function ckEditorYaziEdit($metin) {
$yazi=trim($metin);
$yazi= str_replace ( "ç", "ç",$yazi);
$yazi= str_replace ( "ý","ı",$yazi);
$yazi= str_replace ( "Ç", "Ç",$yazi);
$yazi= str_replace ( "Ö", "Ö",$yazi);
$yazi= str_replace ( "Ü", "Ü",$yazi);
$yazi= str_replace ( "Ð","Ğ",$yazi);
$yazi= str_replace ( "Þ","Ş",$yazi);
$yazi= str_replace ( "Ý","İ",$yazi);
$yazi= str_replace ( "ö","ö",$yazi);
$yazi= str_replace ( "þ","ş",$yazi);
$yazi= str_replace ( "ð","ğ",$yazi);
$yazi= str_replace ( "ü","ü",$yazi);
$yazi= str_replace ( "&", "&",$yazi);
$yazi= str_replace ( " ", " ",$yazi);
return $yazi;
}
$yazi = ckEditorYaziEdit ($_POST["yazi"]); - 12-11-2020, 22:29:36Teşekkür ederim. Test ettim. Sorun tırnaktan kaynaklanıyor. İşte bu konuda hosting firmasından yardım alamıyorum. Post kodumda hata buluyorlar. Error_loga kayıt düşmüyorsa biz birşey yapamayız diyorlar.freguencey adlı üyeden alıntı: mesajı görüntüle
- 12-11-2020, 22:40:06Çok enteresan şekilde paragrafta birçok tırnak işareti varken sadece ilk tırnak işareti (aşağıda koyu olarak belirttim) kaldırıldığında post ediyor.
Dünyanın ender yetiştirdiği eşsiz bir komutan ve dahi bir yönetici olan büyük Önder Atatürk'ün dünya milletlerine bıraktığı bağımsızlık ve eşitlik düşüncesi, sonsuza değin takdirle tatbik edilecektir. Büyük Önder Gazi Mustafa Kemal Atatürk'ü, vatanı ve milleti adına yaptığı büyük işler için şükranla anıyor, manevi huzurunda saygıyla eğiliyoruz. Ruhu şad olsun. Türk Milletinin her bir ferdi Ulu Önder Atatürk'ün getirdiği ilke ve devrimlerin gönüllü ve azimli birer koruyucusu olmaktan büyük bir onur duymaktadır. - 13-11-2020, 00:09:56Pdo kullanmıyorsunuz sanırım. https://www.php.net/manual/tr/function.addslashes.php adslashes fonksiyonu işinizi görebilir.
- 13-11-2020, 09:19:37PDO kullanmıyorum, MySQLi kullanıyorum. mysqli_real_escape_string fonksiyonuda işe yaramıyor. CKEditor tırnak işaretlerini zaten ASCII koda çeviriyor. Ama anlamsız şekilde yinede engelleme devam ediyor. Ayrıca veriyi AJAX ile post ediyorum.ilyasbat adlı üyeden alıntı: mesajı görüntüle
- 16-11-2020, 11:48:08Sorunun MySQL tarafında olmadığını anladım. Aradan ajax ve ckeditor'ü çıkartıp düz bir metni post ettiğimde herhangi bir problem yaşanmazken, örnek olarak <p><span style="font-size:20px"><strong>Test</strong></span></p> bu kod satırını veya ü ' ü ascii tanımlamasını post etmeye çalıştığımda 403 hatası döndürüyor. error_log'a ise herhangi bir hata düşürmüyor.