Сессии и фреймы

Статус
В этой теме нельзя размещать новые ответы.

Вадим

Guest
Сессии и фреймы

Есть система CMS. Соответственно в нее надо войти.

Схема работы:
Окно ввода логин+пароль ->
Проверка пользователя ->
если да, то создаем сессию ->
файл main.php в который все это было передано по шаблону подгружает 3 фрейма, но вот беда, данные записанные в сессию в файле main.php не передаются во "фреймовые скрипты".

Во всех подгружаемых файлах первая строка session_start(); .
Данные записываются через массив $_SESSION в файле main.php.

php version 4.2.3
session.use_cookies On
register_globals On

В чем может быть загвоздка, полдня потратил так и не понял, вроде все по правилам сделано.

-~{}~ 14.06.05 19:36:

+ дополнение
если зарегестрировать переменную
session_register ( "auth" );

то

print session_is_registered ( "auth" );

выводит 1. т.е. переменная регистрируется, но при этом не получается получить ее значение!!! 8)

Чен-то я туплю.

-~{}~ 14.06.05 20:29:

Вот что еще удалось выяснить:
если зарегить переменную session_register ( "auth" );
попытаться присвоить ее значение $auth = "asd";

то на стороне сервера в файле сессии появляется !auth| значит значение не присваивается.

И еще если при этом если задавать переменные через массив $_SESSION то от этого массива в файле и следов не прослеживается. Никаких записей что в сессии такие переменные есть и что они имеют каки-то значения.

Голова пухнет, совсем запутался. Подскажите кто-нить как быть??? Совсем запутался. 8)

P.S.
Вышел на улицу в лыжи обутый
То ли лыжи не едут
То ли я чен-то не так делаю ??? :)
 

Вадим

Guest
Без фреймов пробовал усе номана. Еще один ньанс.
Массив $_SESSION правится внутри класса внутри функции.
global $_SESSION;

если исправить данный массив внутри самого файла main.php то все номана, все переменные видны внутри других фреймов, но такой вариант никак не катит. И теперь я еще больше запутался.

Ведь же насколько я понимаю, через данную строчку
global $_SESSION;
я получаю доступ к данному массиву и могу его править, или я чего-то не так делаю.
 

Вадим

Guest
Могу предложить решение в лоб, если у тебя в скрипте идет цикл иил проверка множества условий.

Есть такая ф-ия microtime(). Через нее можно отслеживать время выполнения скрипта. Соответственно создаешь функцию, в которую будешь передвать время отведенное скрипту и предыдущий результат этой функции.
Если превышено данное время, то функция прерывает работу скрипта.

Ставишь ее в самом начале для получения начальной координаты.
Соответственно в цикле стваишь ее для каждой итерации (или еще как сам придумаешь), в условиях ставишь где проверка может затянуться.
 

Вадим

Guest
тебе хорошо говорить, а мне мучаться :(
Может подскажешь, авось сталкивался.
 

Smartbb

Новичок
данные записанные в сессию в файле main.php не передаются во "фреймовые скрипты".
А почему не передаются? :) Ведь во всех фреймах стартует одна и таже сессия.
Кстати, раз уж твои фреймы работают с сессией, то после записи информации об пользователе они должны рефрешиться.
 

Вадим

Guest
ну читал я это, честное слово читал.
Тут вопрос не в это. У меня эта система работала на процедурах и сессиях год и ничего, нормально, а сейчас с напарником пишем.

Тут проблема в том, почему если определить $_SESSION внутри скрипта изначально вызываемого человеком, все хорошо видно. а если внутри класса->функции то не работает.

При этом если внутри этого скрипта, после определения значений массива внутри класса, вывести print_r ( $_SESSION );
то выводится весь массив как должен, но не внутри фреймов.

т.е. получается что внутри класса не определяются значения этого массива как массива содержащего сессионные переменные.
 

Фанат

oncle terrible
Команда форума
сталкивался с ЧЕМ? Какие конкретно симпотомы?
"то мигает, то не мигает"? Тебе самому не смешно свой лепет читать?

сталкивался. миллион раз.
у меня не работало всё - сессии, база данных, НТТР протокол, рабочие скрипты, графика.
садился и отлиживал.
Находил косяк и исправлял.
чего и тебе желаю.
 

Вадим

Guest
+ фреймы выводятся после проверки пользователя на "вшивость".
 

Фанат

oncle terrible
Команда форума
При этом если внутри этого скрипта, после определения значений массива внутри класса, вывести print_r ( $_SESSION );
то выводится весь массив как должен, но не внутри фреймов.
т.е. получается что внутри класса не определяются значения этого массива как массива содержащего сессионные переменные.
по моему, тебе надо пойти отдохнуть, водички попить, погулять.
это единственное, что нужно для решения твоей проблемы.

-~{}~ 14.06.05 21:09:

чтобы не провоцировать автора на дальнейшую, абсолютно бесполезную трату времени, топик закрывается.
Все рекомендации даны.

Такие топики -просто генераторы флуда и ничего полее.
Через день автор появляется, радостный, и рассказывает, что нашёл косяк в своём коде. Причём ему и так и так искать, а время у людей на форуме только зря отнимает.

-~{}~ 14.06.05 21:22:

У меня к тебе будет большая просьба.
Разберись, пожалуйста, сначала со своими проблемами, а потом уже занимайся чужими.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху