Как обновить уже установленную сессию с данными? - PullRequest
0 голосов
/ 17 января 2012

Я хочу обновить массив сеансов с помощью URL-адресов загруженных фотографий.

До сих пор мне удавалось создать сеанс и добавить массив, но я не могу обновить массив и добавитьк нему добавляются дополнительные изображения.

Как обновить сеанс с новостными данными, не перезаписывая существующие.

Это мой код:

$show_photos = array('photo_url' =>'/assets/img/user_photos/thumbs/'.$image_data['file_name']);

$this->session->set_userdata('show_photos', $show_photos);

Я используюСтруктура codeigniter, но та же логика должна применяться.http://codeigniter.com/user_guide/libraries/sessions.html

Ответы [ 3 ]

5 голосов
/ 17 января 2012

Метод set_userdata перезаписывает содержимое сеанса. Итак, чтобы добавить к сессии var, вам нужно сделать это явно:

//get old value
$old_val = $this->session->userdata('show_photos');
//append to it
$old_val[] = array('photo_url' =>'/assets/img/user_photos/thumbs/'.$image_data['file_name']);
//place it back
$this->session->set_userdata('show_photos', $old_val);
1 голос
/ 17 января 2012

Вы можете использовать php superglobal $_SESSION.

В вашем случае $_SESSION['show_photos'] содержит ваш массив, и вы можете просто добавить данные, используя:

$_SESSION['show_photos'][] = array('your new data...');

0 голосов
/ 17 января 2012

попробовать:

 $_session['show_photos'][] =  $show_photos;

где $ show_photos - следующий элемент массива

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