session_regenerate_id (true) не работает

Возможный дубликат:
Закройте сеанс и запустите новый

Я использую wampserver2.1 php5.3.3, я обнаружил, что session_regenerate_id (true) не работает в моем сценарии, в документе говорится, что когда я устанавливаю параметр «delete_old_sessions» true, должен быть новый sid, и все переменные сеанса должны быть удалены, но факт после функции, $ _session [abc] все еще существует. я неправильно понял эту функцию, в чем моя проблема? Я ценю, если кто-нибудь может мне помочь,

<?php session_start(); $_SESSION['abc']=12323; session_regenerate_id(true); echo $_SESSION['abc']; ?> 

Я думал, что он должен отображать нет, но он выводит: 12323

Related of "session_regenerate_id (true) не работает"

session_regenerate_id() обновляет текущий session id с вновь созданным. Он не изменяет переменные сеанса.

 echo session_id(); session_regenerate_id(); echo session_id(); 

Вы должны unset сеанс, чтобы сделать это:

 unset($_SESSION); // or $_SESSION = array(); с unset($_SESSION); // or $_SESSION = array(); 

Как начать новый сеанс :

 session_start(); session_destroy(); session_regenerate_id(); unset($_SESSION); session_start(); с session_start(); session_destroy(); session_regenerate_id(); unset($_SESSION); session_start(); 

session_regenerate_id отправляет новый файл cookie, но не перезаписывает значение, хранящееся в $_COOKIE . После вызова session_destroy открытый идентификатор сеанса отбрасывается, поэтому просто перезапуск сеанса с session_start снова откроет исходный, хотя и пустой, сеанс для текущего запроса (последующие запросы будут использовать новый идентификатор сеанса). Вместо session_destroy + session_start используйте параметр $delete_old_session для session_regenerate_id для удаления предыдущих данных сеанса.

 <?php session_start(); /* Create a new session, deleting the previous session data. */ session_regenerate_id(TRUE); /* erase data carried over from previous session */ $_SESSION=array(); ?> 

Чтобы начать новый сеанс и оставить старый нетронутый, просто оставьте аргумент session_regenerate_id .

Источник: http://de.php.net/manual/en/function.session-regenerate-id.php#107323

Если вы хотите уничтожить переменные сеанса, вы можете выполнить это: session_destroy(); и если вы хотите получить новый ID, вы можете session_regenerate_id();