是否可以在PHP Header Location中附加一个参数?我没法让它工作。这种语法实际上是允许的吗?
$qry = $_SERVER['QUERY_STRING'];
header('Location: http://localhost/blast/v2/?$qry ') ;
它只是不会用它的实际值替换$qry...为什么??
在浏览器中,它最终看起来像这样:
http://localhost/blast/v2/?$qry
谢谢
是否可以在PHP Header Location中附加一个参数?我没法让它工作。这种语法实际上是允许的吗?
$qry = $_SERVER['QUERY_STRING'];
header('Location: http://localhost/blast/v2/?$qry ') ;
它只是不会用它的实际值替换$qry...为什么??
在浏览器中,它最终看起来像这样:
http://localhost/blast/v2/?$qry
谢谢
4条答案
按热度按时间mbzjlibv1#
将单引号更改为双引号:
PHP中的单引号字符串被视为 string literal,不会解析为变量。
双引号字符串 * 被 * 解析为变量,所以你将得到
$qry
包含的任何附加内容,而不是字面上的$qry
。ilmyapht2#
你也可以通过一个header添加多个参数,比如:
其将两个附加参数添加到原始ID
可以在它们的目的地使用
$get
方法提取它们e0uiprwp3#
我知道这是一个很老的帖子,但请不要这样做。标头中的参数易受XSS攻击。你可以在这里阅读更多关于XSS'ing的内容:owasp.org/index.php/Cross-site_Scripting_(XSS)
3ks5zfa04#
wiles如何修复头位置上的XSS攻击