У меня есть этот код в страницы индекса по умолчанию:Session_start не работает или Session_destroy не работает?
<?php
$_SESSION['user'] = 'Bill';
print $_SESSION['user'];
$_SESSION = array();
session_destroy();
$_SESSION['user'] = 'Andy';
print $_SESSION['user'];
?>
Выход является следующее:
Bill
Warning: session_destroy(): Trying to destroy uninitialized session in C:\xampp\htdocs\DSP\index.php on line 15
Andy
Очевидно, что я должен инициализировать сессию session_start(), но это мои вопросы:
1) Однако почему я могу хранить сеанс без функции session_start()?
2) Теперь я поставил session_start() функции в верхней части кода:
<?php
session_start();
$_SESSION['user'] = 'Bill';
print $_SESSION['user'];
$_SESSION = array();
session_destroy();
$_SESSION['user'] = 'Andy';
print $_SESSION['user'];
?>
Теперь выход заключается в следующем:
Bill
Andy
Мой вопрос теперь:
3) Почему Энди напечатан на выходе? Почему компилятор НЕ дает мне ошибку, что сеанс должен быть запущен снова beacuse Я уничтожил его раньше командой session_destroy()?
Спасибо всем!
Можете ли вы приготовить пищу без огня или любого источника энергии? Нет, вы не можете, потому что без этого вы не можете приготовить еду. Аналогично, если вы не запустите session_start(); ваш код ничего не знает о сеансе. –
Я знаю это, но мой вопрос в том, почему сеансы в этом примере установлены, даже если session_start не существует. –