从codeigniter中的url获取id

时间:2016-06-26 12:02:05

标签: php codeigniter http-status-code-404

我想调用函数get并从跟随url中获取1作为问题控制器中的某个值

http://localhost/project/index.php/question/get/1

我正在尝试的路线配置是:

$route['question'] = 'question_controller';
$route['question/get'] = 'question_controller/get';
$route['question/(:num)'] = 'question_controller/get/$1';

控制器是:

<?php 
    /**
    * 
    */
    class Question_controller extends CI_Controller
    {

        function __construct()  
        {

            parent::__construct();
            $this->load->helper(array('form'));
            $this->load->library('form_validation');
            $this->load->helper('url');
            $this->load->helper('security');
            $this->load->model('Questions');
        }


        function get($q_id = null)
        {
            echo $q_id;
        }
    }
    ?>

但是,上面的网址根本不起作用。我得到了:

  

未找到404页面

     

找不到您请求的页面。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

添加像那样的路线是没有用的

试试这个

路线

$route['question'] = 'question_controller';
#$route['question/get'] = 'question_controller/get'; // remove
#$route['question/(:num)'] = 'question_controller/get/$1'; // remove

在控制器中

function get($q_id = null)
{
    if (!empty($q_id ) && is_int($q_id )) {
        echo "$q_id with the Number";
    } else {
        echo "Its Empty or Its without Number";
    }
}
  

因此,当您通过http://localhost/project/index.php/question/get/1http://localhost/project/index.php/question/get时,它将达到相同的功能。它只能达到值或没有值