gpt4 book ai didi

php - 富文本编辑器未将某些输入从 TextArea 保存到 MySQL

转载 作者:行者123 更新时间:2023-11-29 16:14:07 25 4
gpt4 key购买 nike

在构建内容管理应用程序的过程中,我遇到了无法调试的问题:

我在表单中创建了一个文本区域字段,该字段由富文本编辑器修改。我尝试过一些编辑器:TinyMCE、SummerNote 和其他一些编辑器,两次都得到相同的结果。

90% 的情况下数据提交良好。在 10% 的情况下,我需要测试一大块文本+格式+图像,当我提交表单时,它会执行与提交时相同的所有操作,但没有发生实际的数据库写入,什么也没有发生记录或保存。

例如,我可能会复制/粘贴此页面的主要内容:https://knowledge.hubspot.com/articles/kcs_article/cms-blog/create-and-publish-a-blog-post作为用户可能输入的 lorem ipsum 的“坏”示例,并且它不会保存。但如果我只粘贴第一步(从“创建新博客文章”到第一张图片的正下方),它就可以很好地保存。极长的纯文本保存得很好。

数据已正确清理(我认为):

      $itemname = $_POST['itemname'];
$itemcomment = $_POST['textarea_content'];

$query = "INSERT INTO `table`.`items` (`itemname`, `itemcomment`) VALUES ('$itemname', '$itemcomment');";

mysql_query($query);

数据作为longtext字段编码utm8mb4_bin保存在数据库的“itemcomment”下。

有时有效,有时无效。

我没有找到与此相关的错误日志。通过某些输入,整个 post 似乎消失得无影无踪。

有点不知道从哪里开始调试或者可能出现什么问题。也许我正在拉入的一些尾部格式没有正确清理?

最佳答案

针对您的问题,您可以寻求不同的解决方案

保持数据库不变

  $itemname = base64_encode($_POST['itemname']);
$itemcomment = base64_encode($_POST['textarea_content']);

但阅读后您需要base64_decode才能获取原始内容。

更改数据库中的数据类型

为您的 itemcomment 列选择一个 blob 或等效数据类型(我让您了解如何编写插入内容)您当然需要“准备”查询。

关于php - 富文本编辑器未将某些输入从 TextArea 保存到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54991205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com