Как мне создать страницу, используя формы с каркасом Codeigniter? - PullRequest
1 голос
/ 19 декабря 2011

Я использую платформу Codeigniter и нахожусь в процессе создания регистрационной формы. Процесс регистрации выполняется в несколько этапов, для которых я создал разные виды.

У меня проблема с тем, чтобы заставить контроллер читать, что я перешел к новому шагу. Я попытался решить эту проблему, отправив форму на index.php/controller/2, но когда я попадаю на страницу, я получаю сообщение об ошибке 404 с указанием

Страница не существует.

Я загрузил URI-помощник, поэтому не совсем понимаю, в чем проблема.

Вся помощь очень ценится

1 Ответ

3 голосов
/ 19 декабря 2011

Отправляя форму на index.php/controller/2, вы фактически говорите

  • Загрузить /application/controllers/Controller.php
  • экземпляр класса контроллера
  • Запустить контроллер :: 2 ()

Я подозреваю, что у вас нет метода с именем 2, и вы хотите передать два в качестве аргумента методу, который обрабатывает шаг 1. Это может быть /controller/register или подобное.

Вам необходимо отправить форму на index.php/controller/method/2 и внутри method проверить, какой шаг вы используете $this->uri->segment(2)

В идеале, создавать разные методы для каждого шага, так как это лучше разделит логику. Например

class Registration {
    function step_1() {}
    function step_2() {}
}

Что позволит вам звонить, например, index.php/registration/step_1/ и index.php/registration/step_2/.

Вы также можете использовать класс Session для установки переменных, указывающих, какие этапы выполнены, чтобы люди не могли переходить на другие этапы путем ввода URL-адреса.

...