Andy Olle
Andy Olle

Reputation: 7

Trying to integrate CKEditor in a php page

I'm trying to integrate CKEditor into my simple CMS. I got it to show up on the page, but it's just above everything. I'm wondering how to get it into the correct spot, below my title textbox? Here is my code:

require_once 'conn.php';
include_once 'ckeditor/ckeditor.php';
$CKEditor = new CKEditor();
$CKEditor->editor('body');
$title= '';
$body= '';
$article= '';
$author_id= '';
if (isset($_GET['a'])
    and $_GET['a'] == 'edit'
    and isset($_GET['article'])
    and $_GET['article']) {
        $sql = "SELECT title, body, author_id FROM cms_articles " .
        "WHERE article_id=" . $_GET['article'];
        $result = mysql_query($sql, $conn) or
            die ('Could not retrieve article data: ' . mysql_error());
        $row = mysql_fetch_array($result);
        $title = $row['title'];
        $body = $row['body'];
        $article = $_GET['article'];
        $author_id = $row['author_id'];
    }
    require_once 'header.php';
?>
<form method="post" action="transact-article.php">
    <h2>Compose Article</h2>
    <p>
        Title: <br />
        <input type="text" class="title" name="title" maxlength="255" value="<?php echo htmlspecialchars($title); ?>" />
    </p>
    <p>
        Body: <br />
        <textarea class="body" name="body" id="body" rows="10" cols="60"><?php echo htmlspecialchars($body); ?></textarea>
    </p>
    <p>
        <?php
            echo '<input type="hidden" name="article" value="' .
            $article . "\" />\n";
            if ($_SESSION['access_lvl'] < 2) {
                echo '<input type="hidden" name="author_id" value="' .
                $author_id . "\" />\n";
            }
            if ($article) {
                echo '<input type="submit" class="submit" name="action" ' .
                "value=\"Save Changes\" />";
            } else {
                echo '<input type="submit" class="submit" name="action" ' .
                "value=\"Submit New Article\" />";
            }
        ?>
    </p>
</form>

Upvotes: 0

Views: 784

Answers (1)

halfer
halfer

Reputation: 20430

Personally I don't think you need the PHP library. Just add

<div contenteditable="true">
    Editable text
</div>

as your editable and then just the script to get it running:

<script type="text/javascript" src="/path/to/ckeditor/ckeditor.js"></script>

That said, you may be able to pass the id of your textarea to the PHP library. To avoid confusion with the body tag, rename the id and name of this control to editable_content or similar. And as I mention above, try using a div instead.

Upvotes: 1

Related Questions