如何从网址获取参数?
我一直在使用Code Igniter开发一个PHP页面。有一个从控制器的一些功能:如何从网址获取参数?
public function language_testing($language_code, $logout=0)
{
echo ($language_code);
//come actions
}
我试图发送以下网址:http://mypage.com/index.php/controller/language_testing/bg#9
但我的功能显示我“BG”,而不是“BG#9”。请告诉我,如何在“#”之后获得内容?我非常需要它。
你应该张贴到以下网址来获取值出现在$logout
:
http://mypage.com/index.php/controller/language_testing/bg/9
否则,英镑符号后的数据不是由服务器访问。
你不能。 #
是一个HTML书签,用于在HTML元素上使用ID重定向焦点。浏览器不会将此作为URL的一部分提交给服务器。
根据您的重写规则,您可能要创建一个语义愉快的链接,如http://site.com/path/index.php/bg/9
或http://site.com/path/index.php?bg=9
(这是您的重写规则将实现的目标)。
请注意,如果您确实需要提交#
标志因某种原因,那么您需要在URL中使用%23
(@ jth_92击败我)来提交它。
您需要更改功能PARAMS多加一个参数的代码以及
public function language_testing($language, $code , $logout=0){
echo ($language);
echo ($code);
//come actions
}
,并调用它就像 http://mypage.com/index.php/controller/language_testing/bg/9
它会解决你的问题,然后你可以连接两个值
#是一个HTML实体,用于定位标记以跳转到名称参考。例如:
<a href="#test">Jump to test on page</a>
<a name="test">Test</a>
因此,它不被解释为您的参数的一部分。您应该能够使用bg%23,因为%23是用于散列的转义字符。
http://mypage.com/index.php/controller/language_testing/bg%239
http://au.php.net/manual/en/function.parse-url.php
$urlComp=parse_url($yourURL);
echo $urlComp['fragment'];
它不上来的话 - 锚是严格的客户端。 – Martin 2012-07-20 13:00:17
你是说没有办法用#发送内容? – user1538002 2012-07-20 13:02:42