【发布时间】:2018-05-14 18:20:21
【问题描述】:
我正在创建一个具有使用 TinyMCE 的文本区域的表单。
提交表单后,表单使用 POST 将信息发送到 PHP 脚本。
在那个 PHP 中,我正在尝试使用 MeekroDB 将来自 TinyMCE 的信息存储在数据库中。
问题是 MeekroDB 以这种方式从 TinyMCE 存储我的 HTML:
有什么方法可以存储普通的 HTML 吗?
这是我的代码:
DB::query("INSERT INTO products (title, price, article_nr, description, adicional_info, active, sold)
VALUES (%s, %s, %s, %s, %s, %s, %s)",
$query_data['title'],
$query_data['price'],
$query_data['article_nr'],
$query_data['description'],
$query_data['adicional_info'],
$query_data['active'],
$query_data['sold']
)
已经尝试过这种方式:
DB::query("INSERT INTO products (title, price, article_nr, description, adicional_info, active, sold)
VALUES (%s, %s, %s, %l, %l, %s, %s)",
$query_data['title'],
$query_data['price'],
$query_data['article_nr'],
$query_data['description'],
$query_data['adicional_info'],
$query_data['active'],
$query_data['sold']
)
但它返回一个错误。
【问题讨论】:
-
您需要在这里检查一些数据:输入 TinyMCE 时数据是什么样的?在检索它之后,在将它发送到服务器之前?在将其输入数据库之前在服务器端?当你从数据库中检索它?当你把它放在页面上?数据表示在某处摇摇欲坠,但它可能在这些点中的任何一点上摇摇欲坠,并且根据它所在的点会产生不同的影响。请确定您首先在何处看到转义形式的 HTML,以便我们进一步缩小问题范围。
-
使用 $_POST 获取的 HTML 编码良好。它仅在使用 MeekroDB 提交到数据库时发生变化。
-
不幸的是,我无法找到有关从 HTML 到实体编码的自动转换的任何信息。话虽如此,PHP 有方便的
html_entity_decode()函数,您可能会发现它很有帮助。