Строки запроса с помощью Code Igniter

Я пытаюсь настроить CodeIgniter (v2.1.4) со строками запроса и имею проблемы с передачей переменных. Страницы работают при передаче controller_trigger и function_trigger:

example.org/?c=page&m=index

Но когда я пытаюсь передать переменную:

example.org/?c=page&m=view&id=1

Сценарий выдает ошибки «Отсутствует аргумент» и «Неопределенная переменная».

В «application/config/config.php» я установил:

$config['enable_query_strings'] = TRUE;

В «application/config/routes.php» у меня есть:

$route['default_controller'] = "page";

И мой контроллер выглядит так:

<?php

class Page extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->model('page_model');
    }

    public function index()
    {
        $data['title'] = 'Page Title';

        $this->load->view('templates/header', $data);
        $this->load->view('page/page_index', $data);
        $this->load->view('templates/footer');
    }

    public function view($id)
    {
        $data['title'] = 'Id Page Title';

        $data['page_item'] = $this->page_model->get_page($id);

        $this->load->view('templates/header', $data);
        $this->load->view('page/page_view', $data);
        $this->load->view('templates/footer');
    }

}

Кто-нибудь знает, что я пропустил?

Любая помощь будет принята с благодарностью


person RebDev    schedule 15.07.2013    source источник


Ответы (2)


В вашем config.php измените:

$config['allow_get_array']      = TRUE;    #example.com?who=me&what=something&where=here
person Nil'z    schedule 15.07.2013
comment
Это, кажется, уже установлено TRUE. Я предполагаю, что это значение по умолчанию, поскольку я не помню, чтобы его меняли. - person RebDev; 15.07.2013
comment
НЕТ, это не по умолчанию. Следуйте этой структуре: example.com/index.php?c=controller&m=function. Подробности смотрите в файле конфигурации. Вместо public function view($id) попробуйте сделать public function view(){$id = $_GET['id']} - person Nil'z; 15.07.2013
comment
Это сработало. Спасибо. Кстати, я только что проверил файл конфигурации непосредственно внутри zip для CodeIgniter (v2.1.4), и для параметра $config['allow_get_array'] установлено значение TRUE по умолчанию. - person RebDev; 15.07.2013
comment
Рад помочь дружище! :D - person Nil'z; 15.07.2013

Напишите это так

example.org?c=page&m=index

без "/"

person Erman Belegu    schedule 15.07.2013
comment
Кажется, это не имеет значения. - person RebDev; 15.07.2013