0

FCKEditer を 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>

何が悪いのかわかりませんが、データを保存すると上記のようにフォーマットが削除されます。

4

1 に答える 1

0

これは、入力に対する XSS フィルタリングの結果として発生しています。

このフィールドがクリーンアップされないように、次の点を確認してください。

  1. 入力をフィルタリングする検証ルールがある場合があります。$this->form_validation->set_rules('page_description', 'Description', 'required|xss_clean');
  2. ファイルにあるかどうか$config['global_xss_filtering'] = TRUE;を確認しconfig.phpます。
  3. TRUE入力の 2 番目のパラメーターとして渡すと、入力がフィルター処理されます。$this->input->post('page_description', TRUE);
于 2013-09-03T13:58:03.440 に答える