Несколько представлений форм в коде воспламенителя - PullRequest
0 голосов
/ 19 марта 2012

У меня есть контроллер с именем Author.Внутри контроллера я определил функцию отправки, которая заботится о трехэтапном процессе формы.Прямо сейчас я создал только первую форму.

class Author extends CI_Controller {

    public function index() {
    }

    public function submit() {  
        $this->load->view('author/submit_step1');
    }

}

Форма1, загруженная в представлениях, указывает на URL (действие)

http://localhost/zabjournal/Author/submit/2

Моя цель - сохранить значенияпервой формы в базу данных, а затем загрузить вторую форму.

Учитывая действие формы, Как мне спроектировать контроллер так, чтобы я мог получить доступ к модели и сохранить детали первой формы, а затем загрузить представление для второй формы.

Ответы [ 2 ]

4 голосов
/ 19 марта 2012

Вы можете сделать что-то вроде этого:

public function submit (){

if ($this->input->post('submit-1')) //Use unique names for each submit button value on the forms
{
    //validate and save form data to database

    $this->load->view('author/submit_step2');
}
elseif ($this->input->post('submit-2'))
{
    //validate and save form data to database

    $this->load->view ('author/submit_step3');
}
elseif ($this->input->post('submit-3'))
{
    //validate and save form data to database

    $this->load->view('author/success');
}
else
{
    $this->load->view('author/submit_step1');
}

}
0 голосов
/ 03 августа 2012

Вы также можете использовать функцию перенаправления на контроллер, который загружает вторую форму.
Например

//the function that loads the first form<br><br>
public function load_firstForm() {  
        $this->load->view('author/form1');
    }

//in your form1 use form_open('author/submit_step1') to access the second function

public function submit_step1() {
        //load your model here and a method to save these items

      //redirect to the same controller but the second method that loads the second form
       redirect('author/submit_step2');
    }

//function that loads form2

public function submit_step2() {  
        $this->load->view('author/form2');//loads the second form
    }

и т.д.. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...