2012-04-28 19 views
0

私はckeditorを動作させようとしています。エディタが表示され、テキストエリアのコンテンツが表示されますが、送信時にフォームはエディタにテキストを送信しません。CKEDITOR - データを変更できません

関連するコード:で少なくともそのうち、ここで多くの問題があります

echo '<form action="' . URL . '/admin/editlistings.php?id=' . intval($_GET['id']) . '" method="POST" name="form"> 

<table width="100%" cellpadding="5" cellspacing="0" border="0">'; 


echo ' 
    <script type="text/javascript" src="' . URL . '/includes/ckeditor/ckeditor.js">/script> 
    <script type="text/javascript"> 
    function load_ck_editor() { 
    document.form.description.value = document.form.description.value.replace(/\n/g,"<br>"); 
    CKEDITOR.basePath = "' . URL . '/includes/ckeditor/"; 
    CKEDITOR.config.MaxLength = 99999; 
    CKEDITOR.config.width = "600";     
    CKEDITOR.config.height = "350"; 
    CKEDITOR.replace("description"); 
    CKEDITOR.instances.description.setData(\''.str_replace('"', '\"', stripslashes($form['description'])).'\'); 
    } 
    </script>'; 

(...)

// If the Submit button was pressed we start this routine 
if (isset($_POST['submit_listing']) && $_POST['submit_listing'] == $lang['Listing_Submit']) { 
$form = array(); 
// safehtml() all the POST variables to insert into the database 
// or print the form again if errors found 
$form = array_map('safehtml', $_POST); 
// Cut the description size to the one set in the configuration 
// just in case the java Script is disabled in user browser 
$form['description'] = substr ($form['description'], 0, $conf['listing_description_size']); 

// Create a mysql query 
$sql = 'UPDATE '. PROPERTIES_TABLE . ' SET description = "' . $form['description'] . '" WHERE id = "' . intval($_GET['id']) . '"'; 

$db->query($sql) or error ('Critical Error', mysql_error()); 

答えて

1

<body onload="load_ck_editor();"> 

私はPHPを使用しています非常に明確なSQLインジェクションの問題ではありません。しかし、あなたは<textarea>タグをどこかに持っていて、あなたはCKEコンテンツの代わりにそのタグを送信していると思います。 How to ajax-submit a form textarea input from CKEditor?

関連する問題