Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: >>Доступность переменных при регистрации сессии<<
 
 автор: himic   (28.12.2005 в 17:49)   письмо автору
 
 

Когда захожу в чат я в регистрирую переменные

session_start();
if (!session_is_registered('name_in')) :
session_register('name_in') ;

endif ;

if (!session_is_registered('sex')) :
session_register('sex') ;
endif ;

if (!session_is_registered('color_in_1')) :
session_register('color_in_1') ;
endif ;
$name_in=$HTTP_POST_VARS['name_in'];
$sex=$HTTP_POST_VARS['sex'];
$color_in_1=$HTTP_POST_VARS['color_in_1'];
}

по идеи они должны быть доступны на всех страницах или нет?
У меня они не доступны.
Например:
<span style="color:#'.$HTTP_SESSION_VARS['color_in_1'].'"><b>'.$arr['otprav'].":</b></span>
Или к ним по-другому обращаться надо?

   
 
 автор: cernos   (28.12.2005 в 17:55)   письмо автору
 
   для: himic   (28.12.2005 в 17:49)
 

Используй $_SESSION[''], в php5 по умолчанию отключены длинные названия переменных HTTP_*_VARS['']

Во вторых на других страницах у тебя стоит session_register();
Если да и выод идёт без ошибок, то всё должно работать!

   
 
 автор: cernos   (28.12.2005 в 17:56)   письмо автору
 
   для: cernos   (28.12.2005 в 17:55)
 

Т.е.
$_POST
$_GET
$_SESSION
$_GLOBAL

вместо
$HTTP_POST_VARS
$HTTP_GET_VARS
$HTTP_SESSION_VARS
$HTTP_GLOBAL_VARS

   
 
 автор: himic   (28.12.2005 в 18:04)   письмо автору
 
   для: cernos   (28.12.2005 в 17:56)
 

$_POST
$_GET
$_SESSION
$_GLOBAL
Я так сначало и делал, а РНР четвёртый

Так что на других страницах тож надо сессию регистрировать?
session_register('name_in') ;

   
 
 автор: cheops   (28.12.2005 в 22:51)   письмо автору
 
   для: himic   (28.12.2005 в 18:04)
 

Нет на других страницах следует только вызывать функцию session_start();

PS Длинный формат массивов будет исключён в PHP 6, поэтому их лучше избегать.

   
 
 автор: cernos   (28.12.2005 в 17:59)   письмо автору
 
   для: himic   (28.12.2005 в 17:49)
 

Короче говроя попробуй так:

session_start();

$_SESSION['name_in']=$_POST['name_in'];
$_SESSION['sex']=$_POST['sex'];
$_SESSION['color_in_1']=$_POST['color_in_1'];
}


Другая тсраница, там где ты будешь использовать ети переменные

echo $_SESSION['color_in_1']."- переменная color_in_1";

   
 
 автор: Drago   (28.12.2005 в 19:33)   письмо автору
 
   для: cernos   (28.12.2005 в 17:59)
 

На каждой странице где используется сессия, нужно писать session_start().

session_start();
echo $_SESSION['color_in_1']."- переменная color_in_1";

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования