Я знаю, что этот вопрос задавался несколько раз, но ни у одного из других сообщений SO, похоже, нет ответов, которые могут мне помочь.Переменная сессии PHP не работает после перенаправления страницы
У меня возникли проблемы с сайтом, который я создаю, и мне не удалось сохранить переменные сеанса. Я, наконец, решил просто поставить две простые страницы php ... один называется getsession.php, а другой называется setsession.php. Файлы скелетные, и выглядеть следующим образом:
setsession.php
<?php
session_start();
$_SESSION['loggedinusername'] = "SomeName";
header('Location: getsession.php');
exit();
?>
getsession.php
<?php
session_start();
echo "The Set Variable is: ".$_SESSION['loggedinusername'];
?>
Как вы можете видеть, setsession.php просто устанавливает переменной сеанса, а затем перенаправляется на getession.php и пытается вернуть значение.
К сожалению, все переменные сеанса теряются после перенаправления. Выход я получаю
Примечание: Undefined индекс: loggedinusername в C: \ Inetpub \ Wwwroot \ MyTest \ getsession.php в строке 3 Set Variable является:
Я использую IIS и PHP 7.0. Я проверил журнал, и указанное выше сообщение об ошибке - единственное, что появляется там. Кроме того, мой файл PHP.INI имеет следующие настройки в сеансах:
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.cookie_secure = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path =/
session.cookie_domain =
session.cookie_httponly = 1
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 720
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
Спасибо.
У вас есть доступ к php.ini? –
У меня есть доступ к php.ini. Я также дал полный доступ к каталогу, в котором записываются файлы сеансов, чтобы узнать, поможет ли это. –
Проверьте, нет ли register_globals в php.ini –