codeigniter 从 url 获取值
Posted
技术标签:
【中文标题】codeigniter 从 url 获取值【英文标题】:codeigniter get value from url 【发布时间】:2012-03-28 19:33:36 【问题描述】:如何从 codeigniter 中的以下 URL 接收控制器中的值
http://localhost/directory/c_service/get_radius/lang=123
控制器:
class C_service extends CI_Controller
function __construct()
parent::__construct();
public function get_radius()
i need to get the vLUE 123 here
like,
`$value=$get['lang'];`
谢谢
【问题讨论】:
您的控制器名称是什么?以及您打算获得什么价值? 抱歉,我的控制器名称是“c_service”,而“get_radius”是控制器中的一个函数。我需要在函数“get_radius”中接收值 123 【参考方案1】:你可以使用:
<?php
$this->input->get('lang', TRUE);
?>
TRUE 是打开 XSS 过滤,您确实希望打开它。
查看https://www.codeigniter.com/user_guide/libraries/input.html 了解更多信息。
【讨论】:
activate XSS 只有在你想在用户浏览器中显示值时才有用。否则没用,这就是默认不激活的原因。【参考方案2】:在 config/autoload.php 中启用 url 助手
$autoload['helper'] = array('url');
或在所需的控制器或其方法中加载 url 助手
$this->load->helper('url');
然后在控制器下面使用
$this->uri->segment(3);
上面的行会得到你的第一个参数,增加值会得到你的参数
$this->uri->segment(4);
会让你获得第二名,依此类推。
希望对你有帮助
【讨论】:
【参考方案3】:在 Codeigniter 中你可以简单地做
public function get_radius($lang)
var_dump($lang); //will output "lang=123"
因此,如果您不想通过 explode('=', $lang)
之类的操作来获得价值,您的链接可以简化为 http://localhost/directory/c_service/get_radius/123
。
但是,如果链接在没有参数的情况下打开,您还应该考虑添加默认值 public function get_radius($lang=0)
。
添加更多变量就像public function get_radius($lang, $other)
为http://localhost/directory/c_service/get_radius/123/other
一样简单
【讨论】:
【参考方案4】:我管理它并检查它是否正常工作 首先加载网址
$this->load->helper('url');
$this->uri->segment(3);
示例:http://localhost/schoolmanagement/student/studentviewlist/541
如果你使用$this->uri->segment(3);
,你会得到 (541) id
上面的行会得到你的第一个参数,增加值会得到你的参数
$this->uri->segment(4);
【讨论】:
以上是关于codeigniter 从 url 获取值的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter 从 Session 读取值或从 URL 参数读取值哪个更快? [关闭]
如何从codeigniter中的url获取#jumper部分? [复制]