У меня в контроллере 2 метода: один отвечает за создание страницы регистрации, а другой отвечает за отправку формы регистрации.
<?php
class Signup_c extends CI_Controller {
function __construct() {
parent::__construct();
}
function index() {
$data['title'] = 'Sign Up';
$data['months'] = array(
'1' => 'January',
'2' => 'February',
'3' => 'March',
'4' => 'April',
'5' => 'May',
'6' => 'June',
'7' => 'July',
'8' => 'August',
'9' => 'September',
'10' => 'October',
'11' => 'November',
'12' => 'December'
);
$this->load->view('signup_v', $data);
}
function submit() {
// validation rules here...
// validate
if ($this->form_validation->run() === FALSE) {
$this->load->view('www/signup_v');
}
else {
// add info to database here...
$this->load->view('www/signup_success_v');
}
}
}
Теперь проблема в том, что если возникает ошибка проверки, то пользователь возвращается на страницу регистрации и отображаются ошибки проверки.Однако заголовок или дата не отображаются, потому что эти переменные были определены внутри метода index (), а не метода submit ().
Каково лучшее решение для этого, я не хочу повторяться и копировать эти 2 объявления переменных внутри метода регистрации.Есть ли способ заставить его работать в представлениях обоих методов?