2013-07-29 6 views
0

Я использую FCKEditer с codeigniter, и когда я отправляю данные в datbase, он удаляет форматирование перед отправкой данных.fckediter remove formating in codeigniter

, например, если я представить

<span style="color: rgb(255, 0, 0);">know-how in the field of Water</span> 

хранилище данных в таблице будет

<span>know-how in the field of Water</span> 

У меня есть форма, как сильфона

<form action="#" method="post" id="frm" name="frm" class="form_class"> 

<label id="validateeditor" >Description</label> 
         <? 

       $dataf = array(
           'name'  => 'page_description', 
           'id'   => 'page_description', 
           'toolbarset' => 'Default', 
           'basepath' => base_url().'application/plugins/fckeditor/', 
           'width'  => '700', 
           'height'  => '400' 
        ); 

       echo form_fckeditor($dataf, @$result['page_description']); 
</form> 

Я использую следующий код JQuery для сохранить данные в базе данных

<script type="text/javascript"> 
$(document).ready(function(){ 

jQuery("#frm").validationEngine('attach',{ 
    promptPosition :'centerRight', 
    onValidationComplete: function(form, status){ 
    if(status) 
    { 
     insert_update(); 
    } 
    } 
}) 

}); 

function insert_update() 
{ 
var fckvalue = FCKeditorAPI.GetInstance('page_description').GetXHTML(); 
$("#page_description").val(fckvalue); 
    var formdata = $("#frm").serialize(); 
     $.ajax({ 
       type: 'POST', 
       url: '<?php echo site_url(ADMIN_DIR."cms/insert_update"); ?>', 
       data: formdata, 
       success:function (data){ 
        var msg; 
        if(jQuery.trim($("#<?php echo $u_column;?>").val())!='') 
        { 
         msg = "Record Updated Successfully."; 
        } 
        else 
        { 
         msg = "Record Inserted Successfully."; 
        } 

        jQuery.noticeAdd({text:msg}); 
        $("#list").trigger("reloadGrid"); 
        editDialog.dialog("close"); 
       } 
     }); 
} 
</script> 

Я не знаю, что не так, но когда я сохраняю данные, они удаляют форматирование, как указано выше.

Благодаря

+0

остановка выполнения фильтрации XSS, когда вы получаете значение поля в контроллере. Вы не устанавливаете второй параметр '$ this-> input-> post()' в 'true'. –

+0

нет его не нравится, что мой пост похож на $ this-> input-> post ('page_description', false); но его все тот же – air

ответ

0

Это происходит в результате XSS фильтрации на вашем входе.

Вот несколько вещей, которые вы должны проверить, чтобы убедиться в этом поле не очищаются:

  1. Вы могли бы иметь правила проверки фильтрации ввода: $this->form_validation->set_rules('page_description', 'Description', 'required|xss_clean');
  2. Проверьте, если $config['global_xss_filtering'] = TRUE; в файле config.php.
  3. Ваш вклад будет фильтроваться, если вы передаете TRUE в качестве второго параметра на входе: $this->input->post('page_description', TRUE);