当前位置:  开发笔记 > 编程语言 > 正文

htmlspecialchars的问题

如何解决《htmlspecialchars的问题》经验,为你挑选了1个好方法。

我从以下PHP代码生成链接.链接出现在浏览器中,生成的html代码似乎很好,但链接不可点击.我已经在IE和FF中对此进行了测试,并尝试使用FireBug进行测试无济于事.

生成我的表单的代码

$uploadhtml = htmlspecialchars(json_encode("

"), ENT_QUOTES);

生成的html代码:

    Upload files

我想这是一个JavaScript错误,但我不知道如何查明它?

编辑:没有ENT_QUOTES的html代码:

Upload files

它仍然不可点击......,似乎所有内容都被正确引用了?

当我尝试没有htmlspecial chars时,会产生以下html输出:


'); return false;">Upload files

Michael Borg.. 13

正如对问题的评论所说,这是绝对可怕的代码,而你正在遭受后果.主要问题是代码级别的数量:呈现Javascript的服务器代码,呈现HTML的 - 以及每个级别的差异转义并相互干扰.

要改善这种情况,请在表单中添加一个单独的PHP页面,并打开该页面的弹出链接 - 不需要Javascript.如果你真的想不惜一切代价避免使用那个单独的页面,至少要有在页面标题中生成表单的Javascript函数(非动态),并且链接只包含对你的变量的调用.参数.



1> Michael Borg..:

正如对问题的评论所说,这是绝对可怕的代码,而你正在遭受后果.主要问题是代码级别的数量:呈现Javascript的服务器代码,呈现HTML的 - 以及每个级别的差异转义并相互干扰.

要改善这种情况,请在表单中添加一个单独的PHP页面,并打开该页面的弹出链接 - 不需要Javascript.如果你真的想不惜一切代价避免使用那个单独的页面,至少要有在页面标题中生成表单的Javascript函数(非动态),并且链接只包含对你的变量的调用.参数.


您可以使用链接中的target ="_ blank"属性在纯HTML中创建弹出窗口.您可以通过GET参数将变量传递到目标页面.超时当然需要JavaScript(不知道它的用途是什么),就像更新原始页面一样.我并不是说你根本不能使用JavaScript,只是因为你似乎过度使用它来处理可以用不同方式更好地解决的问题.
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有