Данные должны автоматически передаваться при публикации формы.Вот страница «Интеграция» из Руководства для разработчиков, которая объясняет это:http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Integration
Вы уверены, что запрос успешно выполняется и что поле контента обновляется?Я спрашиваю, потому что код, который вы опубликовали, говорит, что в save.php вы используете:
$id = $_GET['id'];
Это может вызвать проблемы, потому что вы используете method = "post" в вашей форме, а не method= "get".
Не могли бы вы также опубликовать код, который вы используете для замены текстовой области на CKEditor.Используете ли вы метод PHP:
<?php
$CKEditor = new CKEditor();
$CKEditor->basePath = '/ckeditor/';
$CKEditor->replace("content");
?>
Или метод JavaScript:
<script language="Javascript">
<!--
CKEDITOR.replace( 'content' );
//-->
</script>
Будь здоров, Джо
Ответьте на вопросв комментариях
Привет, Пурмоу,
Я не заметил, что вы включили идентификатор в действие формы, извините за это.Если вы хотите использовать его как переменную $ _POST, вы можете включить его в качестве скрытого поля, например:
<form id="editform" action="save.php?id=<?php echo $_GET['id']; ?>" method="post">
<input type="hidden" id="id" name="id" value="<?php echo $_GET['id']; ?>" />
<textarea id="editor" name="content"><?php echo $page['content']; ?></textarea>
Существует несколько хороших документов о загрузке редактора через PHP в папке _samples на страницеустановка CKEditor: http://YourSite.com/ckeditor/_samples/php/
http://YourSite.com/ckeditor/_samples/php/replace.php, имеет основные настройки:
<?php
// Include the CKEditor class.
include_once "ckeditor/ckeditor.php";
// Create a class instance.
$CKEditor = new CKEditor();
// Path to the CKEditor directory.
$CKEditor->basePath = '/ckeditor/';
// Replace a textarea element with an id (or name) of "textarea_id".
$CKEditor->replace("textarea_id");
?>
Подобно методу JavaScript, вы можете добавить параметры конфигурации перед заменой текстовой области.Пример из файла «advanced.php»:
$CKEditor->config['width'] = 600;
Чтобы использовать метод PHP с вашим конкретным кодом, сделайте следующее:
if(isset($_GET['id'])) {
$id = $_GET['id'];
$content = mysql_query("SELECT title, content FROM pages WHERE id=".$id);
$search = mysql_num_rows($content);
if($search > 0){
while($page = mysql_fetch_array($content)) { ?>
<h1>Editing <?php echo $page['title']; ?></h1>
<form id="editform" action="save.php?id=<?php echo $_GET['id']; ?>" method="post">
<textarea id="content" name="content"><?php echo $page['content']; ?></textarea>
</form>
<?php }
include_once "ckeditor/ckeditor.php";
$CKEditor = new CKEditor();
$CKEditor->basePath = '/ckeditor/';
$CKEditor->replace("content");
}
} ?>
Я изменил идентификатор textareaот «редактора» до «контента».Я бы рекомендовал не использовать «редактор» для идентификатора или имени, поскольку он используется в коде CKEditor для ссылки на экземпляр CKEditor.
Настройки конфигурации можно выполнить на странице, где вы загружаете редактор, или вфайл config.js или в вашем собственном файле конфигурации.
Я потратил некоторое время, пытаясь поймать значение поля содержимого формы после отправки формы, но смог увидеть его только до того, как CKEditor обновилсодержание.
Будь здоров,Джо