Пустой массив сессии в запросе ajax - PullRequest
0 голосов
/ 01 ноября 2010

Я строю систему заказов, и есть 2 разные части для добавления продуктов. В обе части товары вставляются с помощью запроса ajax, который возвращает корзину. В первой части товары добавляются напрямую (без каких-либо опций). Эта часть отлично работает. Во второй части пользователи могут добавлять предпочтения к заказанному товару. Когда пользователь нажимает на ссылку, открывается всплывающее окно. Здесь пользователь может выбрать предпочтения. Когда пользователь отправляет форму, к тому же сценарию выполняется вызов ajax. Поэтому я смотрю на переменную $ _SESSION, и она кажется пустой ...

Сеанс запущен, имя сеанса и идентификатор сеанса такие же, как на реальной странице, но массив пуст. Когда я обновляю страницу, данные, которые я добавил, также добавляются в переменную $ _SESSION, но не тогда, когда я делаю вызов ajax ... Я добавил имя сеанса и идентификатор в URL, но он все еще не работает ,

Кто-нибудь имеет представление о том, что может пойти не так. Код нормально работает просто отлично ...

Сессия запускается в файле с именем connection.php. В корзину я добавил этот код:

if(!session_id()) {
    $id = $_GET[session_name()];
    session_id($id);
    session_start();
}

Это добавлено в javascript:

 //config:
$.sid = '<?php echo(session_name() . "=" . session_id()); ?>';

// in the request function ($(this) is the form):
var qry = '?action=add&' + $(this).serialize() + '&' + $.sid;

Gr

1 Ответ

0 голосов
/ 05 сентября 2016

Если сессия_старт присутствует до

session_start();
....
$id = $_GET[session_name()];
if (session_id() != $id) {
  session_write_close();
  session_id($id);
  session_start();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...