sergo_stavropol
Guest
Странная работа session_register
Не могу понять в чем дело
Сразу даю расклад:
PHP 4.0.
register_globals = On
используется SMARTY
global $HTTP_SESSIONS_VARS;
global $HTTP_POST_VARS;
global $HTTP_GET_VARS;
все это сделано, сложено в более привычные для меня переменные
$_POST = $HTTP_POST_VARS;
$_GET = $HTTP_GET_VARS;
так вот.......
после перезагрузки выводим через foreach значения массива $HTTP_SESSION_VARS - есть там все, кроме TID!
Я уже грешным делом думал, что может есть неведомая мне директива - максимальное количество переменнных в сессии
убрал {php}session_register("test_name"); {/php} - то же самое
менял имя переменной, пытался вывести просто $TID (так как глобалсы включены) - .... нету его...
------------
еще фигня:
ВНЕ ШАБЛОНА Smarty все путем. Все отлично работает.
Всего-то навсего заменено "<?" на "{php" - тэг смарти для пхп-кода
Ребятушки, возможные причины граблей??? Домыслы, вымыслы??? Все жду с нетерпением - сроки горят
Не могу понять в чем дело
Сразу даю расклад:
PHP 4.0.
register_globals = On
используется SMARTY
global $HTTP_SESSIONS_VARS;
global $HTTP_POST_VARS;
global $HTTP_GET_VARS;
все это сделано, сложено в более привычные для меня переменные
$_POST = $HTTP_POST_VARS;
$_GET = $HTTP_GET_VARS;
PHP:
HTML_ФОРМА_С одним текстбоксом, name = test_name
if($_POST) { // если эта форма оправляется
$ins_test = sql_query("insert into t(id, name, status) values(nextval('t_id_seq'), '".$_POST['test_name']."', 1)", $link); // инсертим в базу
$howmany = pg_cmdtuples($ins_test); // считаем кол-во затронутых рядов
if($ins_test==true and $howmany==1) { // если затронут 1 ряд идем дальше
$last_value = sql_fetch_row(sql_query("select last_value from t_id_seq", $link), 0); // вытаскиваем последнее, т.е. наше добавленное ID
$TID = $last_value[0];
print "<script>alert('".$TID."')</script>"; // выводим его в алерт - так как страница будет перегружена - все в поряде, содержит то что надо, допустим "30"
session_register("TID"); // пытаемся зарегать в сессии
session_register("test_name"); // пытаемся зарегать в сессии
echo "<head><meta http-equiv=refresh content='2; url=".$himself."'></head>"; // редиректимся
}
так вот.......
после перезагрузки выводим через foreach значения массива $HTTP_SESSION_VARS - есть там все, кроме TID!
Я уже грешным делом думал, что может есть неведомая мне директива - максимальное количество переменнных в сессии
убрал {php}session_register("test_name"); {/php} - то же самое
менял имя переменной, пытался вывести просто $TID (так как глобалсы включены) - .... нету его...
------------
еще фигня:
ВНЕ ШАБЛОНА Smarty все путем. Все отлично работает.
Всего-то навсего заменено "<?" на "{php" - тэг смарти для пхп-кода
Ребятушки, возможные причины граблей??? Домыслы, вымыслы??? Все жду с нетерпением - сроки горят
