【发布时间】:2014-04-12 14:03:51
【问题描述】:
我正在尝试传递一个包含特殊 html 字符的查询字符串(例如 <)。我必须这样做
window.location.href = ".."
在另一页上,我必须使用 PHP 检索此查询字符串。但是当我使用 isset() 检查它时,它返回 false!
例如,当我需要像这样使用 JS 转义 <p> 时:
function HtmlEncode(s)
{
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
window.location.href = "http://localhost/test.php?t="+HTMLEncode("<p>");
现在网址是:http://localhost/test.php?t=&lt;p&gt;。
当我执行echo isset($_GET["t"]); 时,我得到false 结果。
或者即使我尝试this is a <p> tag,我得到$_GET["t"] 等于this is a。
谁能告诉我发生了什么?
【问题讨论】:
标签: javascript php escaping query-string