Странная работа session_register

  • Автор темы sergo_stavropol
  • Дата начала

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;

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" - тэг смарти для пхп-кода

Ребятушки, возможные причины граблей??? Домыслы, вымыслы??? Все жду с нетерпением - сроки горят :(
 

sergo_stavropol

Guest
Frenk

так не работает с моей версией или настроками (только session_register работает)

если с test_name прошел
исходный способ , почему не прохожит с TID?
так что не в этом дело
 

Frenk

Guest
Опа. Должно работать, если у тя 4 версия.
А где session_start(); ?
 

sergo_stavropol

Guest
придется передавать его параметром в GET
но это не лучший вариант

все-таки я думаю: в чем отличие test_name от TID?
test_name пришел из формы
TID выдернут из базы - причем выдернут удачно (реально есть значение - 30 )
 

Кром

Новичок
sergo_stavropol, ты бы поменял версию PHP. Сколько еще можно на таком старье сидеть? Или он тебе дорог как память?
Знаешь еще что? По правилам форума, людям сидящем на такой старой рухляди, не помогают :)
 

sergo_stavropol

Guest
session_start() - в заголовочном файле - в котором вызывается $smarty->assign();

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

sergo_stavropol

Guest
Кром, я тебе клянусь, как только закончу эту работу , сразу обновляюсь на 5.0
;)
 

Кром

Новичок
sergo_stavropol, обновить PHP пол-часа, ставить лучше последнюю четверку.
 

Frenk

Guest
Хм. Ну раз такие чудеса... Поменяй местами test_name и TID.

Что вышло?
 

tony2001

TeaM PHPClub
Если у вас стоит версия РНР из музея (актуальную на данный момент версию можно всегда взять с www.php.net), то сначала обновите РНР, попробуйте с ним, а потом рассказывайте о проблемах. (Примечание: "музейными" версиями считаются версии, которые отличаются от актуальной более, чем на 0.0.3 - например, 4.3.0 < 4.3.3).
 

sergo_stavropol

Guest
Тони, ну все это ясно
зачем меня пятый раз тыкать носом в то что я уже понял и согласен.

если я этого сделать не могу в настоящий момент, то есть наверное на это причины.
 

tony2001

TeaM PHPClub
>зачем меня пятый раз тыкать носом в то что я уже понял и согласен.
я рад, что ты понял и согласен.
но понял ли ты, что твои, мягко говоря, извращения и связанные с ними проблемы никого тут особо не интересуют?
 

Фанат

oncle terrible
Команда форума
А кто-нибудь видел вообще в природе живую 4.0.0?
Я думаю, автор вопроса сильно путается в номере версии.
Как минимум, надо попросить, все-таки. поточнее его назвать

возможные причины граблей - в смарти есть переменная $TID
 
Сверху