-1

テキストエリアで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 を使用しています :)) 私のコードをデバッグするためのいくつかのエコーがあります。

テキストエリアを ckeditor に変更するコードは次のとおりです。

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

もちろん、新しい私の質問です。コンテンツをテキストエリアに投稿すると、データベースに挿入されます。そして、挿入されたコンテンツがテキストエリアに表示されます。

自動保存機能があります。コードはstackoverflowからのものです。そして、それはうまくいきます。しかし、textarea の値を変更すると、textarea タグの間にコードが挿入されるだけです。

だから私の問題は次のとおりです。私のコードは、テキストエリアタグの間にテキストエリアのコンテンツのみを挿入します。

私の質問が明確であることを願っています。自動保存コードを投稿できますが、フォームの他の入力フィールドに最適です。そして、上記と同じ挿入コードです。

下手な英語で申し訳ありませんが、理解していただければ幸いです。

ありがとう!

4

3 に答える 3

4

フォームを送信する前に、その内容をテキスト領域に保存するよう CKEditor に指示する必要があります。

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

次にCKupdate()、フォームを保存する前に実行します。参照: https://stackoverflow.com/a/3256553/1338292

于 2012-06-03T08:16:49.317 に答える
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();

それは正常に動作し、データベースでエスケープされています! しかし、このコードは本当に有効なのでしょうか?

ありがとう!

于 2012-06-03T14:49:25.903 に答える
0

この自動保存プラグインを CKEditor に使用できます。

于 2012-06-03T08:23:33.927 に答える