Светлана PHP
Guest
session_register не успевает
Скрипт A.php производит регистрацию переменной сессии, присваивает ей значение и тут же редиректируется на B.php
Последний скрипт "не успевает" схватить изменения и воспринимает the переменную со старым её значением. То есть значение не изменяется.
Если я перед редиректом, который, кстати сказать, делается за счёт послания формы в нужное место методом POST, делаю так: " alert('') ", то скрипт B.php воспринимает переменную с изменённым значением.
Такое ощущение, что session_register не успевает...
Может кто-нибудь знает в чём тут дело?
P.S.
Как то я пробовала flush() ставить - помогало, а щас чего-то опять...
-~{}~ 01.11.04 22:42:
Привожу код функции... Я добавила помимо flush() ob_flush() , вот...
Скрипт A.php производит регистрацию переменной сессии, присваивает ей значение и тут же редиректируется на B.php
Последний скрипт "не успевает" схватить изменения и воспринимает the переменную со старым её значением. То есть значение не изменяется.
Если я перед редиректом, который, кстати сказать, делается за счёт послания формы в нужное место методом POST, делаю так: " alert('') ", то скрипт B.php воспринимает переменную с изменённым значением.
Такое ощущение, что session_register не успевает...
Может кто-нибудь знает в чём тут дело?
P.S.
Как то я пробовала flush() ставить - помогало, а щас чего-то опять...

-~{}~ 01.11.04 22:42:
Привожу код функции... Я добавила помимо flush() ob_flush() , вот...
PHP:
function main_setsessionvar($a, $b="", $get=false)
{
global $$a;
if (!$get)
{
if (!isset($$a) && $b!="")
{
if (!session_register($a))
$this->error("FILE>>".__FILE__." :: LINE>>".__LINE__." :: "."Variable can't registred.");
global $$a;
$$a = $b;
ob_flush();
flush();
return $$a;
}
if (!isset($$a) && $b=="")
{
$$a = "";
}
if (isset($$a) && $b!="")
{
session_unregister($a);
if (!session_register($a))
$this->error("FILE>>".__FILE__." :: LINE>>".__LINE__." :: "."Variable can't registred.");
global $$a;
$$a = $b;
ob_flush();
flush();
}
}
ob_flush();
flush();
return $$a;
}