<?php
session_start();
$_SESSION['some_var_name'] = '123';
$some_var_name = 'oh shit!!!';
echo $_SESSION['some_var_name'];
?>
При первом запуске из браузера выдаёт 123, а при втором и последующих - oh shit!!!
Я уже не знаю что делать... версия пыха была 5.2.10, стала 5.2.11, не помогло. отключил Register_globals в php.ini - не помогло. Что ещё может быть?
Спустя 21 минута, 16 секунд (22.12.2009 - 16:54) inpost написал(а):
У меня сессии включаются при переходе из страницы на страницу.
К примеру: в контактах нажал отправить письмо: переход на страницу обработчик, там создается сессия, потом редирект на контакты, там сессия работает!
Если использовать аякс, то вид такой: страница передаёт POST на обработчик, в обработчике активируется Сессия, после возвращается на страницу параменты, я проверяю сессию - она пустая, активируется после перезагрузки страницы, хотя может быть я проверку как-то не правильно делал,так что поправьте, профессионалы!!!
Хотя лично твой код я не совсем понял, зачем такое надо, может пример покажешь, где использовать?
К примеру: в контактах нажал отправить письмо: переход на страницу обработчик, там создается сессия, потом редирект на контакты, там сессия работает!
Если использовать аякс, то вид такой: страница передаёт POST на обработчик, в обработчике активируется Сессия, после возвращается на страницу параменты, я проверяю сессию - она пустая, активируется после перезагрузки страницы, хотя может быть я проверку как-то не правильно делал,так что поправьте, профессионалы!!!
Хотя лично твой код я не совсем понял, зачем такое надо, может пример покажешь, где использовать?

Спустя 11 минут, 38 секунд (22.12.2009 - 17:05) waldicom написал(а):
Цитата (Suspended @ 22.12.2009 - 15:32) |
отключил Register_globals в php.ini - не помогло. Что ещё может быть? |
Апач (вебсервер) после этого перегружали?
Спустя 45 минут, 49 секунд (22.12.2009 - 17:51) Suspended написал(а):
Цитата (waldicom @ 22.12.2009 - 14:05) | ||
Апач (вебсервер) после этого перегружали? |
Хм.. никогда после измнения конфига не перезапускал апач.. ну чтож, попробую
Спустя 2 минуты, 29 секунд (22.12.2009 - 17:54) Suspended написал(а):
Кроме register_globals есть какие-либо предположения?
Какая версия пыха заведомо не содержит этой баги? 5.3 к сожалению не подойдёт, несовместимость с какими-то другими проектами.
Какая версия пыха заведомо не содержит этой баги? 5.3 к сожалению не подойдёт, несовместимость с какими-то другими проектами.
Спустя 6 минут, 28 секунд (22.12.2009 - 18:00) krasilich написал(а):
У меня 5.2.10 скопировал твой код - работает как нужно. так что, извини, но не в php проблема.
mod_php или fastcgi?
mod_php или fastcgi?
Спустя 16 минут, 22 секунды (22.12.2009 - 18:16) Suspended написал(а):
mod_php5 написано, в phpinfo больше ничего не нашёл..
короче, после ребута сервера, это прошло. странно... но rergister_globals не должен так себя вести..
короче, после ребута сервера, это прошло. странно... но rergister_globals не должен так себя вести..
Спустя 12 минут, 14 секунд (22.12.2009 - 18:29) waldicom написал(а):
Цитата (Suspended @ 22.12.2009 - 17:16) |
короче, после ребута сервера, это прошло. странно... но rergister_globals не должен так себя вести.. |
Почему странно и почему не должен так себя вести? Все верно, как я и предполагал
Спустя 7 минут, 4 секунды (22.12.2009 - 18:36) Suspended написал(а):
Цитата (waldicom @ 22.12.2009 - 15:29) |
Почему странно и почему не должен так себя вести? Все верно, как я и предполагал |
Ок, поясните пожалуйста, каким образом скрипт исполнялся именно с таким выводом?
123 и затем всегда oh shit?
Спустя 31 минута, 29 секунд (22.12.2009 - 19:07) waldicom написал(а):
Вопросом на вопрос отвечать не совсем как бы принято...
А ответ лежит на поверхности, Вы просто поймите как работают сессии, и будет все понятно.
А ответ лежит на поверхности, Вы просто поймите как работают сессии, и будет все понятно.
Спустя 5 минут, 6 секунд (22.12.2009 - 19:12) Suspended написал(а):
Возможно для вас на поверхности. Поясните пожалуйста, как такое происходит в данном скрипте.
Спустя 22 минуты, 9 секунд (22.12.2009 - 19:34) waldicom написал(а):
Просто необходимо вспомнить, что при включенных "register_globals", переменные беруться не только из POST и GET, но также помимо прочего и из кук и из сессий.
Второй факт: где хранятся переменные сесиии?
Из этого получаем ответ.
Второй факт: где хранятся переменные сесиии?
Из этого получаем ответ.
Спустя 16 минут, 3 секунды (22.12.2009 - 19:50) Suspended написал(а):
Цитата (waldicom @ 22.12.2009 - 16:34) |
Просто необходимо вспомнить, что при включенных "register_globals", переменные беруться не только из POST и GET, но также помимо прочего и из кук и из сессий. Второй факт: где хранятся переменные сесиии? Из этого получаем ответ. |
в COOKIE у нас хранится PHPSESSID, который и не изменяется. Переменные сессии хранятся на стороне сервера, загружаются в массив _SESSION при инициализации сессии.
тем более, пусть переменные сессии хранились бы где-то там в кукисах, и передавались бы нам. как изменение глобальных (или какони там зовутся) переменных может влять на массивы cookies, session и иже с ними? там вроде экспорт идёт лишь ИЗ них.
Спустя 18 минут, 22 секунды (22.12.2009 - 20:09) Niklao написал(а):
люди, простите, понимаю, что влезаю в чужой разговор, но мне нужно, просто край уже и очень срочно! Модераторы, умоляю, пощадите, не баньте! А ситуация у меня такая. Я присваиваю данные глобальному массиву на одной странице и никак не могу получить их на другой. Не понимаю причин, по которым не ведётся передача данных при помощи глобальных массивов и сессий. Подскажите, пожалуйста, Часто встречающиеся проблемы при передаче. А то у меня уже руки опускаются, осталось только плакать, а работа горит синим пламенем....HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Спустя 3 минуты, 44 секунды (22.12.2009 - 20:13) VolCh написал(а):
Экспорта не идёт, переменные из массивов регистрируются как глобальные, другими словами $_COOKIE['username'] и $username указывают на одну и ту же область памяти.
Насчёт того, что сессии регистрируются - действительно странно, по описанию не должны.
После изменений в php.ini в случае подключения PHP как модуля апача или FastCGI апач или сам PHP надо перезапускать всегда, не нужно только если PHP стоит как CGI
Насчёт того, что сессии регистрируются - действительно странно, по описанию не должны.
После изменений в php.ini в случае подключения PHP как модуля апача или FastCGI апач или сам PHP надо перезапускать всегда, не нужно только если PHP стоит как CGI
Спустя 1 минута, 51 секунда (22.12.2009 - 20:14) VolCh написал(а):
Niklao глобальный массив существует только во время работы скрипта, то есть на одной странице. если нужно передавать данные между страницами пользуются сессиями
Спустя 51 секунда (22.12.2009 - 20:15) waldicom написал(а):
Цитата (Suspended @ 22.12.2009 - 18:50) |
в COOKIE у нас хранится PHPSESSID, который и не изменяется. Переменные сессии хранятся на стороне сервера, загружаются в массив _SESSION при инициализации сессии. тем более, пусть переменные сессии хранились бы где-то там в кукисах, и передавались бы нам. как изменение глобальных (или какони там зовутся) переменных может влять на массивы cookies, session и иже с ними? там вроде экспорт идёт лишь ИЗ них. |
Блин... Делаем так:
1. удаляем все сессии с сервера и куки на клиенте.
2. Запускаем скрипт в первый раз.
3. Смотрим на клиенте айди сессии и по этому айди смотри на сервере в саму сессию
4. Запускаем скрипт второй раз.
5. Опять смотрим на сервер в файлик сессии и анализируем.
После этого думаем...
И вообще пишем скрипты без надежды на "register_globals"
Спустя 4 минуты, 18 секунд (22.12.2009 - 20:20) Suspended написал(а):
> $_COOKIE['username'] и $username указывают на одну и ту же область памяти.
А, спасибо что сказали. я думал там копирование (клонирование) идёт.
> Насчёт того, что сессии регистрируются - действительно странно, по описанию не должны.
Да, неприятная фича. И главное включается лишь после второго раза, когда иницилизированные переменные сессии "посылаются".
А, спасибо что сказали. я думал там копирование (клонирование) идёт.
> Насчёт того, что сессии регистрируются - действительно странно, по описанию не должны.
Да, неприятная фича. И главное включается лишь после второго раза, когда иницилизированные переменные сессии "посылаются".
Спустя 4 минуты, 7 секунд (22.12.2009 - 20:24) Suspended написал(а):
> После этого думаем...
У вас, я так понимаю, всё ещё "всё на поверхности".
У вас, я так понимаю, всё ещё "всё на поверхности".
Спустя 28 минут, 55 секунд (22.12.2009 - 20:53) waldicom написал(а):
Цитата (Suspended @ 22.12.2009 - 19:24) |
> После этого думаем... У вас, я так понимаю, всё ещё "всё на поверхности". |
Хм... Понимайте как будет угодно...