Отображается ошибка при удалении вопросительного знака в URL codeigniter - PullRequest
0 голосов
/ 27 апреля 2018

Это мой URL

http://localhost/test/date/time?id1=Mw&id2=kk

Когда я удалил вопросительный знак из URL-адреса вручную, отображается следующая ошибка

http://localhost/test/date/timeid1=Mw&id2=kk

Обнаружена ошибка

В указанном вами URI запрещены символы.

1 Ответ

0 голосов
/ 01 ноября 2018

Почему вы удалили знак вопроса?

Вот как работает маршрутизация с CodeIgniter:

С http://localhost/test/date/time?id1=Mw&id2=kk,

  • http://localhost/ это ваш base_url.
  • test - это имя вашего контроллера.
  • date - это действие (функция) в вашем контроллере.
  • time - атрибут, переданный действию.
  • id1 и id2 являются суперглобальными значениями со значениями Mw и kk.

Вы можете использовать этот фрагмент для работы с этим:

class Test extends CI_Controller
{
    public function date($type) // $type == 'time'
    {
        $id1 = $this->input->get('id1'); // '$id1 == Mw'
        $id2 = $this->input->get('id2'); // '$id2 == kk'
    }
}

если вы удалите символ ?, параметр $type будет равен timeid1=Mw&id2=kk, что запрещено.

Альтернативный

Вы можете использовать URI: http://localhost/test/date/time/Mw/kk вместе с действием:

class Test extends CI_Controller
{
    public function date($type, $id1, $id2) // $type == 'time', '$id1 == Mw', '$id2 == kk'
    {
        // ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...