Так что это действительно странно.
Я недавно обнаружил флэш-данные Code Ignitor, и это именно то, что мне нужно.
Однако я замечаю, что иногда у меня возникают проблемы сЭто.Разделив его прямо на скелеты (функция one буквально не делает ничего, кроме этого, кроме использования реальных данных, а функция two ничего не делает перед извлечением флэш-данных, поэтому я уверен, что могу свести их к этому).
controller_one:
function one()
{
$data['foo'] = 'bar';
$this->session->set_flashdata('extra_data', $data);
redirect('controller_two/two');
}
контроллер-два:
function two()
{
if($this->session->flashdata('extra_data'))
{
var_dump($this->session->flashdata('extra_data'));
}
}
Третий файл - это просто статическая страница со статическимссылка на controller_one / one скажем index.
Теперь, если я пойду по индексу и нажму на ссылку, он будет правильно перенаправлять и выводить данные - как и ожидалось.
Теперь - и вот где он получаетстранно.Если перейти к индексу - подождать 10 минут + , а затем щелкнуть ссылку, он перенаправляется, но флэш-данные пусты (NULL).
Я действительно не вижу, как ждать на статической страниценажатие на статический объект может повлиять на то, что происходит во время перенаправления между двумя функциями, что приводит к потере данных флэш-памяти, поскольку эти флэш-данные даже не устанавливаются до тех пор, пока не будет нажата эта ссылка, и перенаправление происходит сразу после этого в обоих случаях.
Я также пытался var_dump($this->session->flashdata('extra_data')); die;
непосредственно перед перенаправлением, и в обоих случаях данные установлены и исправлены - без разницы, поэтому они должны быть потеряны во время самого перенаправления - я просто не могу понять, как ждатьдо того, как это повлияет на это, но это должно быть - каким-то образом.
Мне довольно легко обойти, используя стандартные сеансы или что-то еще, но, поскольку флэш-данные делают именно то, что я хочу, кажется более уместным использовать это- это просто не работает, если пользователь задерживается на странице до того, как она будет установлена.
Так что любые теории относительно того, почему, или, что еще лучше, soluс благодарностью.