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

Форум PHP

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

 

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

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

тема: Проблема с $_SESSION в Windows под Unix работает нормально
 
 автор: kotProger   (22.01.2006 в 13:44)   письмо автору
 
 

Здравсвуйте.

Помогите пожалуйсто. У меня такая проблема: я написал прогу в РНР и она работет под Unix нормально, но тут мне пришлось доделовать ее на другой машине где PHP, Apache работают в Windows (XP, 98) и у меня начались проблемы с сессиями. Суть проблемы: я в одном файле регистрирую данные в массив $_SESSION['...'], добавляю туда значения, проверяю в $GLOBAL (ради отладки), массив сессий с моими ключами есть, передаю через форму в другой файл, в $GLOBAL массив сессий пустой. Код сессии ОДИНАКОВЫЙ в первом и втором файлах, в php.ini путь к сессиям установлен правильно. Версия РНР -4.1.2.

   
 
 автор: cheops   (22.01.2006 в 15:33)   письмо автору
 
   для: kotProger   (22.01.2006 в 13:44)
 

$GLOBAL в отлчичие от сессий не должен передаваться от скрипта к скрипту, лучше проверять содержимое $_SESSION при помощи кода
<?php
  
echo "<pre>";
  
print_r($_SESSION);
  echo 
"</pre>";
?>

Включены ли cookie у вас в браузере, прикрепите файл php.ini к посту, чтобы можно было взглянуть на настройки.

   
 
 автор: kotProger   (22.01.2006 в 15:48)   письмо автору
28 Кб
 
   для: cheops   (22.01.2006 в 15:33)
 

Я проверял сессии через $GLOBAL для тестирования, вообще проблема в том, что при попадании на другую страницу выводится сообщение что мой индекс (например $_SESSION['user_id'] индекс user_id не обнаружен) и это происходит со всеми переменными сессии. На счет COOKEIS, в файле php.ini они выключены в браузере нет, я приклею файл php.ini к этому сообщению. Этот файл я, на всякий случай, переименовал в php.txt, чтобы небыло глюков при отправке. Може это глюк данной версии PHP или Виндов?

   
 
 автор: cheops   (22.01.2006 в 22:40)   письмо автору
 
   для: kotProger   (22.01.2006 в 15:48)
 

cookie следует включить и в браузере, иначе уникальный идентификатор сессии SID не сможет передаваться от страницы к странице - он передаётся именно через cookie.

   
 
 автор: Lenux   (23.01.2006 в 09:46)   письмо автору
 
   для: kotProger   (22.01.2006 в 13:44)
 

Код не смотрел:(
Но у меня есть не сколько предположений:
1. Настройки в php.ini
2. Не на всех страницах в начале (до использования сессий) стоит session_start();
3. Регистрация переменных происходит не с помощью session_register(), а с помощью $_SESSION['name']="value";
4. У вас может где то быть установлен код session_destroy();

   
 
 автор: kotProger   (23.01.2006 в 15:38)   письмо автору
 
   для: Lenux   (23.01.2006 в 09:46)
 

Я поставид версию PHP 4-4-2 и все зароботало. Версия 4-1-2 глюкнутая, сессии под Win XP не работают вообще, а под 98, только через session_register. Спасибо огромное за помощь.

   
Rambler's Top100
вверх

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