Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > особенности работы сессий


Автор: BrutalizedProgrammer 20.3.2007, 13:09
Вобщем, полтергейст какой-то у меня с сессиями товарищи...
вот такой код:
Код

  ini_set("session.use_trans_sid", true);
  session_start();
  
  echo "<pre>"; print_r($_SESSION); echo "</pre>";
  $_SESSION['user'] = 'vas9';
  echo "<pre>"; print_r($_SESSION); echo "</pre>";
  $user             = 'pet9';
  echo "<pre>"; print_r($_SESSION); echo "</pre>";

смотрите... когда я проганяю этот код первый раз
(в "новом" окне браузера, тоесть идентификатора сессии еще нету в куках), 
то получаю такой результат:
Код

Array
(
)

Array
(
    [user] => vas9
)

Array
(
    [user] => vas9
)


когда нажимаю обновить, тоесть запускаю скрипт второй раз,
в рамках той же сессии, то результат уже такой:
Код

Array
(
    [user] => vas9
)

Array
(
    [user] => vas9
)

Array
(
    [user] => pet9
)
 
а в третий и все остальные разы такой:
Код

Array
(
    [user] => pet9
)

Array
(
    [user] => vas9
)

Array
(
    [user] => pet9
)

Так вот, обьясните мне, дураку, почему изменение переменной 
$user влияет на изменение одноименного ключа массива $_SESSION?!?!

P.S. PHP Version 4.4.4

Автор: mclight 20.3.2007, 13:23
короче отключи register_globals......сделай его register_globals=off в настройках php.ini

Автор: BrutalizedProgrammer 20.3.2007, 13:30
тоесть ты хочешь сказать, что и $_SESSION?
... хм... я думал, что не все, что относится к $_POST, $_GET, $_REQUEST и тд.,
относится и к $_SESSION...

и еще.. такие вот пироги http://www.php.net/manual/ru/security.globals.php

и еще... я так понял, его можна отключить тока в php.ini или в .htaccess, 
насчет первого - это мне на фри хосте не светит... а насчет второго,
то я пишу register_globals off а оно мне в ответ Internal Srver Error что-то не так пишу?

и.. какие еще выходы есть?... кроме переименования совпадающих переменных?

Автор: mclight 20.3.2007, 14:19
попробуй так: в 

.htaccess
Код

php_flag register_globals off

Автор: BrutalizedProgrammer 20.3.2007, 14:50
так работает, большое спс!

Автор: mclight 20.3.2007, 16:00
всегда пожалуйста!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)