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

Linker

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

<?
session_start();
$_SESSION['temp'] = 'значение';
unset($_SESSION['temp']);
var_dump($_SESSION['temp']);
?>

Что в броузере будет "значение" ?
 

Wingley Dog

Guest
Народ, не гоните.
У меня у самого были такие грабли.
Не знаю как на старших версиях, но на 4.0.х все именно так и обстоит. unset действительно не работает с $HTTP_SESSION_VARS[],
всему всегда помогоало session_unregister();
 

Фанат

oncle terrible
Команда форума
Ловчик.
Хорошо, я не буду загибать пальцы.
Я просто ткну тебя носом.
Я привел код.
Из 5 строчек.
и утверждаю, что при E_ALL
он будет где угодно и когда угодно выводить только нотайс об андефайнед вариабле.

мне плевать на сессии.
я их здесь не вижу вообще.
то, что этот чудик подтвердил, что выводит сразу же после ансета, а не на другой странице - это уже дего и другие проблемы.
я говорил о своем коде из 5 строчек.
Ты можешь считать себя опупенным гуру но научись сначал читать те сообщения, на которые берешься отвечать.

В свою очередь во все, что рассказывает этот румисс я поверю, только если увижу собственными глазами.
потому, что он в состоянии отмочить такое, что не знаешь - смеяться или плакать. Я вволю наслушался.
Он путается в собственных штанах. он школьник. Ему простительно.

А вот ты, который считает себя крутым спецом, заглянул бы в документацию, и прочитал бы сразу ТРИ предупреждения на тему своей session_unregister
Note: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use unset() to unregister a session variable.


Caution
This function does not unset the corresponding global variable for name, it only prevents the variable from being saved as part of the session. You must call unset() to remove the corresponding global variable.



Caution
If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().
И я по прежнему утверждаю, что ты ни бельмеса не смыслишь в таком базовом понятии, как register_globals, если позволяешь себе такие заявления.
 

Wingley Dog

Guest
Хе.
4.0.6 ... У меня стоит 4.0.1, потому как заказчик имеет обыкновение таскать скрипты по старым серверам для показа, так что на счет 4.0.хы я наверно погорячился.

Вообще как бы в курсе, что нужно юзить, либо $_SESSIONS либо session_register(); Но както в одном месте unset не работал и переменная смогла нормально освободиться только после session_unregister(). Может это глюк конкретно этой версии....

Хотя у человека именно такая трабла, и почему бы ему не воспользоваться этим безграмотным советом?
 

Wingley Dog

Guest
тьху, опять не так понял, предыдущий пост (на счет 4.0.6)
все, хватит на сегодня работать..... 8)
 

Nakmar

Guest
Мдя... А вопрос так и остался открытым... школьники, однозначно.
 

PartizaneN

I speak PHP
DA

U menja takaja zhe problema....byla... I vot karoche chto ja sdelal...

//////////////////////////////////////////
$_SESSION['hren']="123412341";
.......

$hren=$sdkajdhfkajshgsdfadadl;//nu ljubaja peremennaja, kotoraja ne suschestuet
////////////////////////////////////////////

i vse - peremennoj kak ne byvalo...
mozhet eto i lahmato, no tut nichego mne ne pomoglo, krome etogo.....

i voobsche eto ne sovsem pravil'no - sozdavat' peremennuju sessii cherez $_SESSION[''], a potom unichtozhat' - session_unregister(); ... Togda uzhe session_register....
 

R00miss

Guest
Автор оригинала: Nakmar
Мдя... А вопрос так и остался открытым... школьники, однозначно.
session_unregister('blah');
раскрыт теперь вопрос? :) не хочет по другому...
 

PartizaneN

I speak PHP
Originally posted by Фанат
мне плевать на сессии.
я их здесь не вижу вообще.
то, что этот чудик подтвердил, что выводит сразу же после ансета, а не на другой странице - это уже дего и другие проблемы.
Srazu vidno, chto tebe plevat' na sessii... Na drugoj stranice eta peremennaja vseravno ostanetsja...
 

Фанат

oncle terrible
Команда форума
партизанчик, ты не понял, о чем речь.
вы тут все путаете сессию и массив $_SESSION
А это обычный массив в пределах одного скрипта.
И пока мне будут затирать по ушам, что код
<?
session_start();
$_SESSION['temp'] = 'значение';
unset($_SESSION['temp']);
var_dump($_SESSION['temp']);
?>
выведет "значение", а не "NULL", я буду называть этих людей идиотами, которые не понимают элементарнейших вещей, а еще лезут спорить и что-то доказывать.

Только когда они научатся различать переменные в пределах одного скрипта - тогда можно начинать с ними разговаривать.

а "неправильно" - это писать под register_globals
ВСЕ проблемы в этом треде - от register_globals=on

именно при них, кроме ансета надо делать еще и сешшн анрегистер.
только из-за них.
 

PartizaneN

I speak PHP
Tak pri register_globals on nado ne $_SESSION[''] a session_register...
U menja na byvshem hostinge ne prosto unset ne rabotalo, tak esche i session_unregister...
 

PartizaneN

I speak PHP
da i fanat, pro kakoj massiv ty tut govorish'....

dazhe esli by tak ono i bylo(a ono sovsem ne tak kak ty sebe predstavljaesh), to ja ne vizhu prichiny pochemu by unset ne srabotal dlja massiva...
 

Фанат

oncle terrible
Команда форума
ja тоже ne vizhu prichiny pochemu by unset ne srabotal dlja massiva...
только об этом я и пишу, если бы ты вниательно прочитал мои посты
 
Сверху