![](/img/trans.png)
[英]CodeIgniter - Save HTML content of WYSIWYG editor in a database to be used at a later date
[英]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.