0

我正在尝试让 ckeditor 工作。编辑器显示并显示 textarea 内容,但在提交表单时不会在编辑器中提交文本。

相关代码:

<body onload="load_ck_editor();">

我正在使用 php:

    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 ());
4

1 回答 1

1

这里有很多问题,其中最少的不是很清楚的 SQL 注入问题。但是我假设您在<textarea>某处有一个标签,并且您提交的是该标签而不是 CKE 内容。请参阅如何 ajax-submit a form textarea input from CKEditor?

于 2013-04-08T21:43:15.787 回答