gpt4 book ai didi

php - 如果我想用撇号的文本更新文本区域字段,htmlentities 是否会影响 htmlspecialchars?

转载 作者:行者123 更新时间:2023-11-29 23:18:18 24 4
gpt4 key购买 nike

我有一个页面显示在站点的不同区域中创建的记录。该页面显示记录并允许用户更新内容。有一个文本区域字段通常包含撇号(例如,We're、Ive、It's ... 等)。

文本字段区域显示有htmlentities:

<textarea name="deal_detail" cols="35" rows="2" id="details"><?php echo htmlentities($row_Recordset1['deal_detail'], ENT_COMPAT, ''); ?></textarea>

当我单击“保存”时,它会尝试更新记录(注意:如果没有撇号,它会保存得很好)。

        $updateSQL = sprintf("UPDATE deals SET deal_title=%s, deal_detail=%s, deal_image=%s, renov=%s  WHERE id_deals=%s",
GetSQLValueString($_POST['deal_title'], "text"),
GetSQLValueString($_POST['deal_detail'], "text"),
GetSQLValueString($_POST['deal_image'], "text"),
GetSQLValueString($renov, "int"),
GetSQLValueString($_POST['id_deals'], "int"));

我尝试在更新之前使用 htmlspecialchars 和 mysqli_real_escape_string 将 $_POST[deal_detail] 移动到一个变量,但没有任何反应,当它尝试更新时,我不断收到相同的常见错误,因为它会将撇号识别为代码,而不是文本。

我在这里阅读了大约 50 篇关于类似问题或信息的不同帖子,但似乎没有任何效果。我想知道使用 htmlentities 是否会影响...

最佳答案

好的,我刚刚添加了一个在 PHP 手册上找到的函数,它帮助我解决了这个问题。

    function safe($admin_buy_local) {
return mysql_real_escape_string($admin_buy_local);
}

然后当我插入或更新时,我只需将文本移动到函数并将其保存在变量中。

$deal_detail=safe($_POST['deal_detail']);

它使用撇号旁边的\保存数据。

我现在的问题是显示mysql中保存的数据没有“\”。我假设我必须使用 htmlspecialchar() 但我需要检查如何使用。

关于php - 如果我想用撇号的文本更新文本区域字段,htmlentities 是否会影响 htmlspecialchars?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27576046/

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