【问题标题】:codeigniter get value from urlcodeigniter 从 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

标签: codeigniter url


【解决方案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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-14
        • 1970-01-01
        • 2016-10-28
        • 1970-01-01
        • 2016-11-09
        • 1970-01-01
        • 2014-02-06
        • 2023-03-24
        相关资源
        最近更新 更多