codeigniter: используется флеш-данные, но нет загрузки новой страницы? - PullRequest
0 голосов
/ 16 марта 2012

Обычно я просто устанавливаю переменную или массив $ feedback и проверяю, чтобы это отображалось в моих представлениях.

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

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

Какую практику лучше использовать здесь?

Ответы [ 3 ]

0 голосов
/ 16 марта 2012

Я бы использовал ошибки проверки из класса проверки формы и загрузил бы их непосредственно в представление в его 2-м аргументе.

$this->form_validation->set_error_delimiters('<p>', '</p>');
$content_data = array();

if (!$this->form_validation->run()) {
    $content_data['errors'] = validation_errors();
}

$this->load->view('output_page', $content_data);

Затем проверил бы, установлено ли значение $ errors.

0 голосов
/ 01 апреля 2012

Контроллер:

$data['message'] = 'some message you want to see on the form';
$this->load->view('yourView', $data);

Вид:

if (isset ($message)) : echo $message; endif;
...
0 голосов
/ 16 марта 2012

CodeIgniter поддерживает «флэш-данные» или данные сеанса, которые будут доступны только для следующего запроса к серверу и затем автоматически очищаются.

u используйте скрытое поле для этого

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