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-&gt;uri-&gt;segment(3);,你会得到 (541) id

上面的行会得到你的第一个参数,增加值会得到你的参数

$this->uri->segment(4);

【讨论】:

以上是关于codeigniter 从 url 获取值的主要内容,如果未能解决你的问题,请参考以下文章

尝试从 codeigniter 代码中的 2 个表中获取值

使用 codeigniter 在数据库中获取具有相同值的列

Codeigniter 从 Session 读取值或从 URL 参数读取值哪个更快? [关闭]

如何从codeigniter中的url获取#jumper部分? [复制]

如何从 Codeigniter 中的视图获取控制器的 URL?

使用 CodeIgniter 获取 URL 中的参数