簡體   English   中英

所見即所得引導程序保存到數據庫

[英]wysiwyg bootstrap save to database

我無法將編輯器中寫入的內容保存到我的數據庫中。

我注意到,如果我將 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>

我該如何解決這個問題,以便我能夠以豐富的數據格式保存到我的數據庫中?

謝謝

為了讓富文本編輯器的內容提交到一個 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保存到數據庫中。

只需添加這樣的 onclick 事件

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

請注意#txteditor是表單的 ID,一旦完成,您將獲得所見即所得的功能。 要使用它,您可以將.html更改為.text ,它將保存到數據庫,但沒有所見即所得的功能。

如果有人有同樣的問題,我有一個解決方案:

我將我的所見即所得編輯器更改為 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>

我不確定上面的代碼是如何工作的。 我從專業人士那里買了一個解決方案 - 如果我的解釋不好,很抱歉。

無論如何,如果你和我有同樣的問題,上面的代碼應該可以解決問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM