0

我无法将编辑器中编写的内容保存到我的数据库中。

我注意到,如果我将 div 更改为 textarea,它会很好地保存到数据库中。但是那个“解决方案”删除了所见即所得的功能,并且无法以我需要的丰富数据格式保存。

那么如何使用 div 保存到我的数据库中呢?

这是我的代码:

<form method="post" action="index.php">
      <div id="editor" name="test">
        <?

  $sql = "SELECT blaabog FROM brugere WHERE id='1'";
  $result = $conn->query($sql);

      while($row = $result->fetch_assoc()) {
          echo $row["blaabog"];
      }

  ?>
</div>
      <button class="btn btn-default" type="submit">Send Post</button>
    </form>

如果我将代码更改为此,它会保存到数据库中,但如上所述会破坏其他功能..

<form method="post" action="index.php">
      <textarea id="editor" name="test">
        <?

  $sql = "SELECT blaabog FROM brugere WHERE id='1'";
  $result = $conn->query($sql);

      while($row = $result->fetch_assoc()) {
          echo $row["blaabog"];
      }

  ?>
</textarea>
      <button class="btn btn-default" type="submit">Send Post</button>
    </form>

我该如何解决这个问题,以便能够以丰富的数据格式保存到我的数据库中?

谢谢

4

3 回答 3

0

为了让富文本编辑器的内容提交到 PHP 页面:

在与富文本编辑器相同的页面上以相同的形式创建隐藏文本输入。

然后在表单中添加一个 onSubmit 函数,将 div 的内容复制到隐藏的文本输入中。

它看起来像:

<form name="my_form" method="post" onSubmit="document.my_form.editor_contents.value = $('#editor').html()" action="index.php">

<textarea name="editor_contents" style="display:none;"></textarea> 

      <div id="editor" name="test">
        <?

  $sql = "SELECT blaabog FROM brugere WHERE id='1'";
  $result = $conn->query($sql);

      while($row = $result->fetch_assoc()) {
          echo $row["blaabog"];
      }

  ?>
</div>
      <button class="btn btn-default" type="submit">Send Post</button>
    </form>

注意 不要忘记这次你必须保存editor_contents到数据库。

于 2015-12-23T23:51:55.587 回答
0

只需添加类似这样的 onclick 事件

<button onclick=" $('#txtEditor').val($('.Editor-editor').html());" class="btn btn-default" type="submit">Send Post</button>

请注意#txteditor一旦完成,您将获得表单的 id,您将获得所见即所得的功能。要玩它,您可以更改.htmlto .text,它将保存到数据库,但没有所见即所得的功能。

于 2016-10-20T11:18:27.583 回答
-1

如果有人有同样的问题,我有一个解决方案:

我将我的所见即所得编辑器更改为 TINYmce,它使用以下代码将信息存储在数据库中:

编辑器代码:

 <script src="//cdn.tinymce.com/4/tinymce.min.js"></script>

PHP:

  // Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


if(isset($_POST['text'])) {


  $text = $_POST['text'];




  $sql = "UPDATE users SET blaabog = '" . $text . "' WHERE id = 1";

  if ($conn->query($sql) === TRUE) {
  echo "Record updated successfully";
  } else {
  echo "Error updating record: " . $conn->error;

} }

?>

还有一些 PHP:

<form method="post">
            <textarea name="text">
                                      <?

            $sql = "SELECT * FROM users WHERE id=1";
            $result = $conn->query($sql);

                while($row = $result->fetch_assoc()) {
                    echo $row["blaabog"];
                }

            ?>
          </textarea>
        </div>
        <div class="widget-container">
          <div class="widget-content">
              <div class="form-content">
                <div id="response"></div>
              </div>
              <div class="form-footer">
              <input type="submit" class="btn btn-success primary-btn" value="Gem blå bog">
              </div>
            </form>

我不确定上面的代码是如何工作的。我从专业人士那里买了一个解决方案——如果我的解释不好,很抱歉。

无论如何,如果你和我有同样的问题,上面的代码应该可以解决问题!

于 2015-12-30T17:41:33.050 回答