所见即所得 bootstrap 保存到数据库
wysiwyg bootstrap save to database
我无法将在编辑器中编写的内容保存到我的数据库中。
我注意到如果我将 div 更改为 textarea,它会很好地保存到数据库中。但是 'solution' 删除了所见即所得的功能,并且无法以我需要的丰富数据格式保存。
那么如何使用 divs 保存到我的数据库?
这是我的代码:
<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
保存到数据库。
如果有人遇到同样的问题我有解决办法:
我将我的所见即所得编辑器更改为 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>
我不确定上面的代码是如何工作的。我从专业人士那里购买了解决方案 - 如果我的解释不好,请见谅。
总之,如果你和我有同样的问题,上面的代码应该可以解决问题!
只需像这样添加 onclick 事件
<button onclick=" $('#txtEditor').val($('.Editor-editor').html());" class="btn btn-default" type="submit">Send Post</button>
注意 #txteditor
是表单的 ID 一旦完成,您将获得所见即所得的功能。要玩弄它,您可以将 .html
更改为 .text
,它将保存到数据库,但没有所见即所得的功能。
我无法将在编辑器中编写的内容保存到我的数据库中。
我注意到如果我将 div 更改为 textarea,它会很好地保存到数据库中。但是 'solution' 删除了所见即所得的功能,并且无法以我需要的丰富数据格式保存。
那么如何使用 divs 保存到我的数据库?
这是我的代码:
<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
保存到数据库。
如果有人遇到同样的问题我有解决办法:
我将我的所见即所得编辑器更改为 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>
我不确定上面的代码是如何工作的。我从专业人士那里购买了解决方案 - 如果我的解释不好,请见谅。
总之,如果你和我有同样的问题,上面的代码应该可以解决问题!
只需像这样添加 onclick 事件
<button onclick=" $('#txtEditor').val($('.Editor-editor').html());" class="btn btn-default" type="submit">Send Post</button>
注意 #txteditor
是表单的 ID 一旦完成,您将获得所见即所得的功能。要玩弄它,您可以将 .html
更改为 .text
,它将保存到数据库,但没有所见即所得的功能。