Автор Тема: Вопрос по сессиям  (Прочитано 2128 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vano

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по сессиям
« : 18 Октября 2003, 16:03:17 »
Здравствуйте господа.
Есть файл xxx.php

<?
unset(
$s);
session_start();
session_register(\'s\');

if (!isset($HTTP_SESSION_VARS[\'s\'])) $s = null; else $s = $HTTP_SESSION_VARS[\'s\'];

if (!isset($s[\'count\'])) {
  $s[\'count\']=1;
} else {
   $s[\'count\']++;
}
echo \'Вы загрузили эту страницу раз: \'.$s[\'count\'];
?>

На локальном апаче(Win XP) значение $s[\'count\'] останавливается на 2, далее не увеличивается.
У хостера увеличивается при каждой загрузке.

При добавлении в конец файла строки $HTTP_SESSION_VARS[\'s\'] = $s; на локальном апаче $s[\'count\'] начинает увеличиваться.

В чем моя ошибка? Или так работает PHP под виндовс?

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Вопрос по сессиям
« Ответ #1 : 19 Октября 2003, 02:29:00 »
"Caution: If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered(), and session_unregister()." (c) [p]session_register[/p]
Другими словами, если ты используешь session_register(), хотя этот способ является устаревшим, то ты не должен использовать массивы $HTTP_SESSION_VARS или $_SESSION.
Это был ответ на твой вопрос, но твой способ не только неправильный, но и устаревший.
Правильно делать так:
session_start();
// делаем что угодно со значением прямо в $_SESSION, например так:
$_SESSION[\'i\']++;
// или, если тебе так удобнее, создаешь новую переменную со значениме из сессии,
// делаешь с ней то, что тебе нужно, а потом сохраняешь обратно в массив $_SESSION:
$i = $_SESSION[\'i\'];
$i++;
$_SESSION[\'i\'] = $i;
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн Vano

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по сессиям
« Ответ #2 : 19 Октября 2003, 15:24:54 »
Большое спасибо!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28