Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从url获取参数?_Php_Codeigniter - Fatal编程技术网

Php 如何从url获取参数?

Php 如何从url获取参数?,php,codeigniter,Php,Codeigniter,我一直在使用CodeIgniter开发一个PHP页面。控制器有一些功能: public function language_testing($language_code, $logout=0) { echo ($language_code); //come actions } 我正在尝试发送以下url:http://mypage.com/index.php/controller/language_testing/bg#9 但是我的函数显示的是“bg”而不是“

我一直在使用CodeIgniter开发一个PHP页面。控制器有一些功能:

public function language_testing($language_code, $logout=0)
{      
      echo ($language_code);
      //come actions
}
我正在尝试发送以下url:
http://mypage.com/index.php/controller/language_testing/bg#9


但是我的函数显示的是“bg”而不是“bg#9”。请告诉我,我怎样才能得到“#”之后的内容?我非常需要它

您应该发布到以下URL,以获取要显示在
$logout
中的值:

http://mypage.com/index.php/controller/language_testing/bg/9
否则,服务器将无法访问英镑符号后的数据。

您不能。
#
是一个HTML书签,用于使用HTML元素上的ID重定向页面周围的焦点。浏览器不会将此作为URL的一部分提交到服务器

根据您的重写规则,您可能希望创建一个语义上令人满意的链接,如
http://site.com/path/index.php/bg/9
或as
http://site.com/path/index.php?bg=9
(这就是您的重写规则将要实现的目标)


注意:如果出于某种原因确实需要提交
符号,那么您需要使用URL中的
%23
来提交它(@jth_92 beat me to it)。

您需要更改函数参数,并为代码添加一个额外的参数

public function language_testing($language, $code , $logout=0){      
  echo ($language);
  echo ($code);
  //come actions
}

就这么说吧

它将解决您的问题,然后您可以连接这两个值

The#是一个HTML实体,在锚定标记中用于跳转到名称引用。例如:

<a href="#test">Jump to test on page</a>
<a name="test">Test</a>


它根本就不会出现-锚是严格的客户端。你的意思是没有办法用#发送内容?
$urlComp=parse_url($yourURL);
echo $urlComp['fragment'];