Возможно ли, что файлы cookie не включены?
Чтобы связать переменные сеанса с конкретным экземпляром клиента (то есть, как переменные сеанса могут использоваться в браузере и моем браузере одновременно, не вступая в конфликт), «идентификатор сеанса» (или «SID») генерируется за сеанс. Этот идентификатор хранится как на сервере, так и на клиенте, обычно в виде файла cookie. Однако, если файлы cookie не включены, идентификатор сеанса передается вместе как часть строки запроса URL-адреса в каждом запросе, чтобы сервер мог знать, какой идентификатор сеанса принадлежит клиенту.
При перенаправлении на header()
вызова, PHP автоматически не вставить SID в новый запрос, так что вам нужно будет добавить его самостоятельно, в виде:
header("Location: my_url.com/my_page.php?" . SID)
где SID
постоянная определенный PHP, который содержит необходимую часть строки запроса (эквивалентную session_name() . '=' . session_id()
, если существует идентификатор сеанса).
Для получения более подробной информации см. Passing the Session ID.
Можете ли вы разместить код? – SilentGhost