我遇到传递查询字符串的问题。在我的查询字符串中,当我使用$_REQUEST['string']
时,包含#标记的值仅返回#tag之前写入的值。有办法解决这个问题...
我的问题是
localhost/index.php?string=adc#123
我使用的价值
$_REQUEST['string']
在#tag未捕获后仅为 abc 值。
请建议我解决这个问题...
答案 0 :(得分:1)
在发送php文件之前使用urlencode($string)
。
答案 1 :(得分:0)
我认为这是因为#是一个保留字符,用作访问网页中组件的锚点,如http://example.org/index.php#header,它将指向标识符“标题”作为标识符。
你是否试图逃避这个角色或使用urlencode(...)所以它不会被解释为锚? Doc:http://php.net/manual/fr/function.urlencode.php
答案 2 :(得分:0)
重定向到该页面时会生成类似 -
的查询字符串header('location:index.php?str='.urlencode('abc#123'));
它将对查询字符串值进行编码。