- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从以下 php 代码生成链接。链接出现在浏览器中,生成的 html 代码看起来不错,但是链接不可点击。我已经在 IE 和 FF 中对此进行了测试,并尝试使用 FireBug 查看无济于事。
生成表单的代码
$uploadhtml = htmlspecialchars(json_encode("<form action='up.php' method='post'
enctype='multipart/form-data'>
<label for='file'>Filename:</label>
<input type='file' name='file' id='file'/>
<br />
<input type='hidden' name='pk' value='".$pk."'>
<input type='hidden' name='username' value='".$USERNAME."'>
<input type='submit' name='submit' value='Submit' onclick=\"setTimeout(function() {
updateByPk('Layer2', '".$pk."', '".$brand."', '".$pg."'); } ),1250);\" />
</form>"), ENT_QUOTES);
生成的 html 代码:
<a onclick="makewindows('"<form action='up.php' method='
post'\r\nenctype='multipart\/form-data'>\r\n<label for='
`file'>Filename:<\/label>\r\n<input type='file' name='file' id='`file'\/> \r\n<br \/>\r\n<input type='hidden' name='pk' value='
380118179930'>\r\n<input type='hidden' name='username' value='
janmaybach'>\r\n<input type='submit' name='submit' value='
Submit' onclick=\"setTimeout(function() { updateByPk('Layer2',
'380118179930', 'Ed Hardy', '1'); } ),1250);\"
\/>\r\n<\/form>"'); return false;" href="#">Upload files</a>
我猜这是一个 JavaScript 错误,但我不知道如何查明它?
编辑:没有 ENT_QUOTES 的 html 代码:
<a href="#" onclick="makewindows('"<form action='up.php' method='post'\r
\nenctype='multipart\/form-data'>\r\n<label for='file'>Filename:<\/label>\r\n<input
type='file' name='file' id='file'\/> \r\n<br \/>\r\n<input type='hidden' name='pk'
value='380118185183'>\r\n<input type='hidden' name='username' value='janmaybach'>\r
\n<input type='submit' name='submit' value='Submit' onclick=\"setTimeout(function()
{ updateByPk('Layer2', '380118185183', 'Ed Hardy', '1'); } ),1250);\"
\/>\r\n<\/form>"'); return false;">Upload files</a>
它仍然无法点击...,所有内容似乎都被正确引用了?
当我尝试不使用 htmlspecial chars 时,会生成以下 html 输出:
<input type='submit' name='submit' value='Submit' onclick=" settimeout(function()="" {="" updatebypk(="" layer2="" 380118179930="" ed="" hardy="" ,="" 1="" );="" }="" ),1250);="">
'); return false;">Upload files</a>
最佳答案
正如问题评论中所说,这绝对是可怕的代码,您正在承受后果。主要问题是代码级别的数量:呈现 Javascript 的服务器代码,呈现 HTML 的服务器代码 - 并且差异在每个级别转义并相互干扰。
要改善这种情况,请使用表单创建一个单独的 PHP 页面,并让您的弹出链接打开该页面 - 不需要 Javascript。如果你真的想不惜一切代价避免拥有那个单独的页面,至少要有在页面标题中生成表单的 Javascript 函数(非动态),并且链接只包含对该函数的调用,你的变量为参数。
关于php - htmlspecialchars 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/824622/
我的问题类似于this问题,但我没有使用代码点火器。我将从数据库获得的变量回显到文本输入的值属性中。变量可能包含 ' 或 "或任何其他特殊字符。 我试过: " /> 但它将引号输出为 " 或 ' 这不
我在 mysql 字段中有如下的外观, Hello there world 当我使用这段代码格式化上面的内容时: echo htmlspecialchars($thestring) 它输出这个,
我遇到了一个特定的字符串(它不是完全可打印的,但您可以在下面看到它)导致 htmlspecialchars() 返回零长度字符串。有什么办法可以解决这个问题吗? $Stmnt = 'SELECT su
我正在从以下 php 代码生成链接。链接出现在浏览器中,生成的 html 代码看起来不错,但是链接不可点击。我已经在 IE 和 FF 中对此进行了测试,并尝试使用 FireBug 查看无济于事。 生成
我使用 phpMyDataGird 脚本通过网络编辑 MySQL 数据库表,而不使用 phpMyAdmin(我只是使用 phpMyAdmin 来管理值,但这个脚本来管理数据) 当我将 HTML 添加到
input.replace("&", "&").replace("<", "").replace(""", "\""); 我将这行代码用作 sudo htmlspecialch
这个问题在这里已经有了答案: How can I prevent SQL injection in PHP? (27 个答案) 关闭 6 年前。 我的代码是: $description = $_PO
大家好,查看了 php 文档并四处搜索,但没有任何乐趣。这是我的代码片段,htmlspecialchars 似乎不起作用,用错了吗? $query="SELECT * FROM likes"; $re
我获取 $_POST 信息并将其存储在数据库中,稍后查询并将此信息打印给用户。我应该在插入此信息之前使用 htmlspecialchars() 还是在查询它之后再输出它? 此外,我需要让用户能够使用引
我正在尝试使用 htmlspecialchars 但它似乎不起作用。我正在使用 OSX 10.9.1 和 PHP 5.4.17。我写: var_dump(htmlspecialchars("Test"
__('Details & Documents') ?> 上面的打印输出为:Details &文档 什么是正确的语法才能打印为:Details & Documents? 谢谢 最佳答案 html_en
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
这个问题在这里已经有了答案: when to use htmlspecialchars() function? (4 个答案) 关闭 9 年前。 我需要使用以下方法将我的字符串转换为特殊字符: h
为什么会这样 $trader_details = array_walk($trader_details, 'htmlspecialchars'); 给这个错误? Severity: Warning M
我正在为我的老板构建一个 PHP 内联网。一个简单的客户、订单、报价系统。它将被拒绝从 Internet 访问,并且只能由 3 人使用。我不太关心安全性,因为我关心验证。 Javascript 在所有
同时使用 htmlspecialchars 和 htmlentities 会导致 ™ 符号甚至单个 ' 引号等项出现空白输出。显然,这绝对是无用的,但是在不使用 html 字符的情况下输出数据会导致这
这似乎是一个简单的问题,但我在文件中找不到它。 如何扭转 htmlspecialchars 的影响? 我试过这样的: $trans_tbl = get_html_translation_table (
如何在数组对象数组上运行 PHP 函数 htmlspecialchars()? 我有以下代码: $result_set = Array ( [0] => Array (
1、html_entity_decode():把html实体转换为字符。 ?
PHP htmlspecialchars() 函数 实例 把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体:
我是一名优秀的程序员,十分优秀!