在哪里放htmlspecialchars()

时间:2012-06-01 12:16:49

标签: php mysql

我使用phpMyDataGird脚本通过网络编辑MySQL数据库表而不使用phpMyAdmin(我只是使用phpMyAdmin来管理值,但是这个脚本来管理数据)

当我向字段添加HTML时出现问题。我希望能够将它们视为代码,而不是让它们转换。

这是script看起来如何的一个例子。如果单击某个字段,则可以对其进行编辑。在第一行,第二列我写了<i><b>someone</b></i>,你可以看到它没有显示代码,但是用粗体和斜体显示。

这是我添加MySQL信息和更改设置的脚本的main page,此主页连接到编写所有脚本的page

任何人都可以查看这些页面并告诉我在哪里添加htmlspecialchars()电话,因为我一直在尝试,但它无效。

1 个答案:

答案 0 :(得分:2)

如果您只想在网格中显示HTML特殊字符(并且它们可以保持不变),请尝试在“页面”脚本中编辑第1612行 - 这应该是mask函数:< / p>

        function mask($value,$mask,$datatype,$aselect,$row){
            switch ($datatype){
                    ...
                    default:               
/*1612 line here --> */ return htmlspecialchars($value);
            }
        }

但我不确定这是否是你想要实现的......

编辑:要将数据保存在htmlspecialchar格式化的值中,尝试更改第927行

$strUpdate = "UPDATE $this->tablename set $value=".magic_quote($nt)." $updWhere Limit 1";

$strUpdate = "UPDATE $this->tablename set $value=".htmlspecialchars(magic_quote($nt))." $updWhere Limit 1";

但同样,我不确定......如果这没关系,那么你可以删除前面例子中的htmlspecialchars(第1612行)。