Отправляя форму на 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-адреса.