2012-06-03 66 views
-1

我用了一個textarea的CKEditor之間發送值的CKEditor,文本區域僅標籤

<form id="form" name="myform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<textarea name="content" > 
    <?php echo $_POST['content']; ?> 
    </textarea> 

的形式將被髮送到當前頁面,這裏是代碼插入到數據庫中的代碼:

if(isset($_POST['submit'])) 
{ 
    if (empty ($_POST['naam']) or empty($_POST['content']) or empty($_POST['omschrijving']) or empty($_POST['auteur']) or empty($_POST['keywords'])) 
    { 
     echo '<h1>TEST</h1>'; 
     echo '<script type="text/javascript"> 
        alert("Er zijn velden die niet ingevuld zijn. Deze zijn met rood gemarkeerd"); 
       </script>'; 
    } 
    else 
    { 
     echo 'nog niet verwerkt'; 
     //alles is ingevuld 
     $sql = "INSERT INTO sitecontent (ID, postnaam, post_inhoud, pagina, publiceren) 
     VALUES ('" . $_POST['id'] . "', '" .mysql_real_escape_string($_POST[naam]) ."', '" .mysql_real_escape_string($_POST[content]) . "' , '" .mysql_real_escape_string($_POST[pagina]). "' , '" . $_POST['publiceren']. "')"; 
     $query = $con->exec($sql); 
      echo 'verwerkt'; 

    } 
} 

(我使用PDO PHP :))有一些回聲的調試我的代碼。

這裏是textarea的改變到的CKEditor代碼:

<script type="text/javascript"> 
    CKEDITOR.replace('content'); 
</script> 

新我的問題ofcourse。如果我將這些內容發佈到textarea中,它將被插入到數據庫中。插入的內容將顯示在textarea中。

我有一個自動保存功能,代碼是從stackoverflow。它工作正常。但是,如果我更改textarea的值,它將只在textarea標記之間插入代碼。

所以我的問題是:我的代碼只會插入textarea之間的textarea標籤內容。

我希望我的問題很清楚。我可以發佈自動保存代碼,但這對於表單上的其他輸入字段非常合適。這與上面插入的代碼相同。

對不起,我的英文不好,我希望你能理解我。

謝謝!

+0

你的意思是它只保存原始的textarea而不是自動保存的內容? –

+0

是的,所以只有textarea標籤之間的代碼。 – LEDfan

+0

也許你可以發佈自動保存功能的鏈接? –

回答

4

之前可以提交表單,你需要告訴的CKEditor來挽救回它的內容到文本區:

function CKupdate(){ 
    for (instance in CKEDITOR.instances) 
     CKEDITOR.instances[instance].updateElement(); 
} 

然後運行CKupdate()保存表單之前。另請參閱:https://stackoverflow.com/a/3256553/1338292

+0

Thaks!我會在今天晚些時候嘗試。 Euh,我需要填寫textarea的名字嗎? – LEDfan

+2

CKEDITOR的每個實例都知道它所連接的textarea字段。 –

+0

你這般神奇!它完美的工作!我只是實現代碼!謝謝! – LEDfan

0

首先,我希望我能回答我的問題嗎? 上面,他們說我需要使用準備好的語句,而不是使用mysql_real_escape_strings。

我編輯了我的代碼,這是在我的數據庫中插入值的代碼。

$query = "INSERT INTO sitecontent (ID, postnaam, post_inhoud, pagina, publiceren) 
    VALUES (:id, :naam, :content, :pagina, :publiceren)"; 
    $q = $con->prepare($query); 

    $q->execute(array(':id'=>$_POST['id'], ':naam'=>$_POST['naam'] , ':content'=>$_POST['content'] , ':pagina'=>$_POST['pagina'] , ':publiceren'=>$_POST['publiceren'])); 
    $q->errorInfo(); 

它工作正常,它在數據庫中被轉義了!但是,這個代碼是否真的保存好?

謝謝!