сессия не чистится

R00miss

Guest
сессия не чистится

не пойму чё... на локалке все работало, в инет закинул не работает... такая штука - делаю:
PHP:
unset($_SESSION['temp']);
и ниче не очищается :confused:
в чем может быть проблема? если в настройках PHP то что менять тама?
 

Alkinoy

Guest
что значит не очищаются? то есть после
unset($_SESSION['temp']);
делаешь
print $_SESSION['temp'];
и тебе выдается старое значение???

PS кстати, Лондон не в Канаде......
Согласен. Уговорил. :cool:
 

Wingley Dog

Guest
session_unregister("temp"); спасет атца русской демократии 8)
 

R00miss

Guest
именно так и есть.. делаю unset($_SESSION['temp']);
потом echo $_...
и старое значение

>>PS кстати, Лондон не в Канаде......
кстати географию надо учить или хотя бы на карту смотреть ;)
hint: около 200 км от Торонто на юг ;)
 

R00miss

Guest
>>PS кстати, Лондон не в Канаде......
вот я те даже сайт нашел - http://www.city.london.on.ca/ :)
 

ForJest

- свежая кровь
R00miss - какая версия PHP?
Делаешь ли ты потом header('Location: ..')?
Ты уверен, что в этом скрипте у тебя есть session_start?
 

Фанат

oncle terrible
Команда форума
не надо уходить в сторону.

просто глюки у него.
ни от какой версии не зависит.
если написать
<?
$_SESSION['temp']="roomiss тупит";
unset($_SESSION['temp']);
echo $_SESSION['temp'];
?>
то это В ЛЮБОЙ версии РНР и в ЛЮБОМ месте кода, независимо от того, что было или не было до, выведет пустоту.
то есть, ничего не выведет.
кроме варнинга.

Школьник он еще.
имейте снисхождение.
 

Сергей123

Новичок
Не, Фанат, вроде в старых версиях были баги с unset'ом сессионных переменных.
 

Сергей123

Новичок
Я щас посмотрел, там и в 4.2.2, вроде, ещё проблемы были.
Не факт, конечно, что это имеет отношение к треду.
 

R00miss

Guest
Вот так пишу:

PHP:
session_start();
...

$_SESSION['temp'] = $_POST['name'];

...some code that checks data, if everything is OK then...

unset($_SESSION['temp']);
header("Location: ./blah.php");
exit;
PHP Version 4.1.2
 

ForJest

- свежая кровь
PHP:
unset($_SESSION['temp']); 
session_write_close();
header("Location: ./blah.php");
попробуй так. А вообще - пора апдейтиться.
 

R00miss

Guest
не, не хочет :(
сам не пойму что такое... на локальном сервере все нормально, а тут.. мда...
 

R00miss

Guest
наверно из-за php... на локалке стоит 4.3.0, а там 4.1.2... сделаю update - посмотрю :)
 

lovchy

nacido para cifrar
> session_unregister("temp"); спасет атца русской демократии 8)

Ответ был дан.

> то это В ЛЮБОЙ версии РНР и в ЛЮБОМ месте кода, независимо от того, что было или не было до, выведет пустоту.

Если register_globals on, то не всегда.
 

Фанат

oncle terrible
Команда форума
ловчик, ты знаешь вообще, что такое регистер глобалс, и на какие переменные это действует?
покажи мне хоть одну такую переменную в приведенных трех строчках?

вот ЭТО - session_unregister("temp"); - ДА, от регистер глобалс зависит.
а в моем примере нет ни одной переменной.
Учи матчасть, студент.
Хотя какой ты студент... ясли закончи
 

lovchy

nacido para cifrar
> Хотя какой ты студент... ясли закончи

Судя по загибу пальцев, ты сам ещё школьник.

http://ru2.php.net/manual/en/function.session-unregister.php Последний пост.

Факт то, что в твоём примере, при указанном мной стечении обстоятельств, сессия не очистится.
 

Linker

Guest
И что? Все поверили, что после:

unset ($_SESSION['temp']);
echo $_SESSION['temp'];

не выводится Undefined variable ???

Может bug report коллективный отправим?

А session_unregister() - уж и подавно тогда не справиться, если unset() "не берёт"...
 

Linker

Guest
ROOmis:

Что значит не очищается? Что должно произойти?

Может после редиректа сессия заново стартует (уже новая)?
 

R00miss

Guest
>>Что значит не очищается? Что должно произойти?
чё значит что должно произойти? в сессии ничего не должно быть после unset..

>>Может после редиректа сессия заново стартует (уже новая)?
не... я же говорю - на локальном сервере все нормально, а в инете не работает...
 
Сверху