У меня есть две страницы. На одной странице я добавляю массив к $_SESSION
. На второй странице я читаю массив (успешно), а затем unset
этот массив от $_SESSION
.Сетчатый массив PHP продолжает меняться
Что происходит, однако, что вторая страница показывает разные значения, чем первая страница, хранящаяся в сеансе, и это заставляет меня думать, что первая страница вызывается снова и снова, но как это может быть, если я нахожусь сеанс и не перезагрузка страницы снова сама?
Что я делаю неправильно? Спасибо
EDIT: Забыл упомянуть, что второй скрипт запрашивается флеш-файлом на веб-сайте. Флэш-файл имеет идентификатор сеанса как один из его параметров, а затем отправляет его во второй скрипт для загрузки правой сессии (часть session_id($_REQUEST['token']);
).
Page 1:
$_SESSION['HEADER_MODEL'] = getModelForHeaderVideo();
/*
[HEADER_MODEL] => Array
(
Yes these are just random numbers (for testing)
[modID] => 303768959
[modUsername] => 347073152
)
*/
Page 2:
<?php
session_id($_REQUEST['token']);
session_start();
header('Content-Type: text/html; charset=utf-8');
if (!isset($_SESSION['HEADER_MODEL']['modID']) || (trim($_SESSION['HEADER_MODEL']['modID']) == '')) {
echo "modID=0";
} else {
echo "&modID={$_SESSION['HEADER_MODEL']['modID']}&modUsername={$_SESSION['HEADER_MODEL']['modUsername']}";
unset($_SESSION['HEADER_MODEL']);
}
?>
я думаю, что проблема с 'session_start()' ..Why вы начинаете новую сессию на странице 2? –
Знаете ли вы, что делает 'session_id'? – Jon
Прошу прощения. Я забыл важную информацию. Второй файл запрашивается флеш-фильмом для получения значений. Я отправляю идентификатор сеанса во второй файл для загрузки того же сеанса. Я видел это решение где-то вчера. Я добавил его к исходному вопросу. – pilau