У меня есть небольшой PHP-скрипт:
<?php
session_start();
$var = array();
$var['key'] = 'Var -> Key';
if ($_GET['set']) {
$_SESSION = array();
$_SESSION['var'] = 'Session -> Var';
}
print_r($_SESSION);
?>
Я ожидаю, что он вернет это, для set = 0 и set = 1:
Array
(
[var] => Session -> Var
)
Однако он возвращает это дляset = 0 (после set = 1, конечно):
Array
(
[var] => Array
(
[key] => Var -> Key
)
)
Посмотрите здесь: http://dev.gruppenunterkuenfte.de/index_test.php?set=1
Что должно произойти, это то, что $ _SESSION ['var']заменяется на $ var.Но только после загрузки следующей страницы.
Есть идеи почему?
Я могу переключить свою версию PHP в интерфейсе администратора моего хостера, и я попробовал 5.2.11, 5.3.2 и 4.4.8.
Это настройка, которую я могу изменить в PHP, чтобы она не перезаписывала переменные сеанса?Причина У меня нет этой проблемы на другом сервере.
Похоже, что есть какие-то настройки, чтобы PHP записывал $ var в $ _SESSION ['var'], если $ _SESSION ['var']определены. * * тысяча двадцать-одна