我正在开发一个与bootstrap WYSIWYG表单有关的cms项目,用于从数据库中插入和检索.插入代码正常工作,检索代码也可以正常工作,但在我想编辑文章时不起作用.当我点击编辑链接时,< a href ='index.php?page = edit& id =“.$row ['id'].”'>< span data-placement ='top'数据-toggle ='tooltip'title ='编辑'>< button class ='btn btn-primary btn-xs'data-title ='编辑'>< span class ='glyphicon glyphicon-pencil'>< ; /跨度>< /按钮><跨度>< / A>它引用了我的编辑页面.在我的edit.PHP页面上,我有这个代码从数据库中选择,它运行良好
PHP
include("dbconnect.PHP");
if(isset($_GET['id']))
$id = strip_tags($_GET['id']);
$sql = "SELECT * FROM berita WHERE id=$id" ;
$result = MysqLi_query($conn,$sql);
while ($row = MysqLi_fetch_assoc($result))
{
$image= $row['gambar'];
$title = $row['judul'];
$description = ( $row['konten']);
$time = $row['tanggal'];
}
?>
当我将值回显到它们各自的表单类型时,它仅适用于基于Bootstrap的WYSIWYG不回显任何值,但如果我将其更改为普通textarea,它可以正常工作.这是我在edit.PHP页面上的代码
PHP
include("dbconnect.PHP");
if(isset($_GET['id']))
$id = strip_tags($_GET['id']);
$sql = "SELECT * FROM berita WHERE id=$id";
$result = MysqLi_query($conn,$sql);
while ($row = MysqLi_fetch_assoc($result))
{
$image= $row['gambar'];
$title = $row['judul'];
$description = ( $row['konten']);
$time = $row['tanggal'];
}
?>
PHP" method="POST" enctype="multipart/form-data">
PHP echo date('d-m-Y'); ?>" disabled>
PHP echo $title; ?>" placeholder="title" required />
PHP echo htmlspecialchars($description) ;?>
有什么帮助吗?
如果您无法设置该值,则根本原因在多个行上.
的确,你做的是这样的:
$(document).ready(function() {
$('#txtEditor').Editor();
$('#txtEditor').Editor('setText','My text with
您可以看到(console.log)部分第二行出错,因为javascript无法识别这一点.
Solution: escape all carriage return
来自数据库
你有一个漂亮的函数json_encode,可以保护你免受所有这类问题的影响,并且可以对你的变量进行javascripti.
$(document).ready(function() {
$('#txtEditor').Editor();
$('#txtEditor').Editor('setText',PHP echo json_encode($description); ?>);
});
I din’t forgotten the quotes around the PHP function. Why ? Because
json_encode
function will add the quote aroud your text. If you do a
json_encode('toto')
output will be"toto"
; If you do a
json_encode([key' => 'toto'])
output will be{"key":"toto"}
就这样 :)
另一种方案:
对于textarea,请使用htmlspecialchars($description)
和:
$(document).ready(function() {
$el = '#txtEditor';
$($el).Editor();
$($el).Editor('setText',$($el).val());
});