Передача многомерного массива с использованием сессий в PHP - PullRequest
0 голосов
/ 15 марта 2020

В настоящее время я пытаюсь передать многомерный массив через сеансы, а также могу динамически добавлять / удалять из него (это wi sh -лист). Индекс массива будет идентификатором элемента, который я добавляю в массив. Я пробовал сериализацию, используя переменные вместо реального сеанса, и ни один из них не работал должным образом для меня.

Моя проблема в том, что мой массив не будет переходить со страницы 1 на страницу 2. Страница 1 - это то, что происходит, когда пользователь нажимает любую кнопку «добавить в wi sh -list»

Я искал в Google и написал что-то похожее на это:

page 1:

session_start();
$_SESSION['wishlist'] = array();
$id = $_GET['id'];
$imageFileName = $_GET['ImageFileName'];
$title = urldecode($_GET['PictureName']);

$_SESSION['wishlist'][$id]=array("id"=>$id,"title"=>$title,"imageFileName"=>$imageFileName); // Here im making the multidimensional array

$_SESSION['wishlist'] = $_POST; //found this way on Stackoverflow

header('Location:view-wish-list.php'); //move to second page

страница 2: попытка начать сеанс и распечатать массив для проверки:

session_start();


var_dump($_SESSION['wishlist']);

Var Dump дает мне array (0) {}

Любая помощь будет принята с благодарностью. Спасибо.

1 Ответ

1 голос
/ 15 марта 2020

Необходимо зафиксировать (записать) сеанс до перенаправления или второй запрос может возникнуть до того, как данные сеанса станут доступны на сервере:

session_write_close();
header('Location:view-wish-list.php'); //move to second page
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...