Переменные сеанса после перенаправления заголовка

Потерпите меня, если это похоже на другие вопросы, размещенные здесь, я уже прошел все предоставленные ответы, но не решил свою проблему. Я уменьшил свою проблему до минимума.

  1. У меня две страницы (page1.php, page2.php)
  2. Page1.php создает переменную сеанса, и если задана переменная сеанса, она отправляет браузер в файл Page2.php
  3. На странице2.php браузер должен отображать значение переменной сеанса, заданной в Page1. PHP
  4. Моя проблема в том, что page2.php отображает переменную сеанса как не заданную.
  5. Я пробовал все решения, отправленные другими пользователями при переполнении стека, как вы можете видеть из моего кода ниже:

page1.php

<?php //start the session session_start(); //set the session $_SESSION['mysession'] = "Hello"; if(isset($_SESSION['mysession'])){ //redirect the person to page 2 session_write_close(); header("Location: page2.php?PHPSESSID=".session_id()); exit(); } else { echo "Session Not Set"; } ?> 

page2.php


 <?php //start the session session_start(); session_id($_GET['PHPSESSID']); if ( isset ($_SESSION['mysession']) ) echo $_SESSION['mysession']; else echo "Session not set!"; ?> 

session_id () необходимо вызвать до session_start ()

Если идентификатор указан, он заменит текущий идентификатор сеанса. session_id () необходимо вызвать до session_start () для этой цели. В зависимости от обработчика сеанса в идентификаторе сеанса допускаются не все символы. Например, обработчик сеанса файлов допускает только символы в диапазоне az AZ 0-9, (запятая) и – (минус)!

Примечание . При использовании файлов cookie сеанса указание идентификатора для session_id () всегда будет отправлять новый файл cookie при вызове session_start (), независимо от того, совпадает ли текущий идентификатор сеанса с тем, который установлен.

session_id () – Руководство по эксплуатации

Вы также можете проверить, будет ли установлен набор проверки подлинности на основе файлов cookie.

Имейте в виду, что если пользователи публикуют URL-адрес, они могут переносить сеанс на другой клиент.

На page2.php , page2.php первые 2 строки. + Изменить

 session_start(); session_id($_GET['PHPSESSID']); 

в

 session_id($_GET['PHPSESSID']); session_start(); 

См. Раздел « Parameters » здесь ..http: //php.net/manual/en/function.session-id.php