Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.06.2007, 18:26
alilu вне форума Посмотреть профиль Отправить личное сообщение для alilu Найти все сообщения от alilu
  № 1  
Ответить с цитированием
alilu

Регистрация: Jan 2007
Сообщений: 107
По умолчанию Значение переменной в сессии=Undefined

Задача:
1. из флеша передать в пхп значение переменной
2. в пхп сделать эту переменную глобальной
3. при загрузке другой страницы вызывать другой пхп файл и извлечь эту глобальную переменную
---
С отправкой и получением данных во флеш проблем нет (спасибо Loadvars)
После штудирования мануала по пхп написала два скрипта:
1. для создания глобальной переменной
Код:
<?
     $a=addslashes(trim($a));
     session_start();
     $_SESSION['var_a']=$a;
?>
2. для извлечения этой переменной
Код:
<?
     $b=$_SESSION['var_a'];
     echo 'res='.$b
?>
Естестно, ничего не работает. Поиск по форуму не дал вразумительных результатов, поскольку слабо представляю, что именно искать в данной ситуацию
Help me^-) please

Старый 05.06.2007, 18:44
Skubent вне форума Посмотреть профиль Отправить личное сообщение для Skubent Посетить домашнюю страницу Skubent Найти все сообщения от Skubent
  № 2  
Ответить с цитированием
Skubent
 
Аватар для Skubent

Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
Отправить сообщение для Skubent с помощью ICQ
Ну и откуда во втором примере возьмется сессия ?

ЗЫ. Не имеет отношения к проблеме. Надо привыкать писать полный php-тэг в начале скрипта. В смысле <?php.
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.

Старый 05.06.2007, 20:03
alilu вне форума Посмотреть профиль Отправить личное сообщение для alilu Найти все сообщения от alilu
  № 3  
Ответить с цитированием
alilu

Регистрация: Jan 2007
Сообщений: 107
Эх, если бы я знала откуда ей там взятся, то наверняка она бы уже там появилась:-)Проблема в незнании, точнее непонимании

Старый 05.06.2007, 20:10
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 4  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
@session_name("someName");
@session_start();
@session_register("var_a");
@session_register("var_b");

Старый 06.06.2007, 11:15
alilu вне форума Посмотреть профиль Отправить личное сообщение для alilu Найти все сообщения от alilu
  № 5  
Ответить с цитированием
alilu

Регистрация: Jan 2007
Сообщений: 107
Не совсем понимаю. Не в принципе нужна одна переменная в сессии
Т.е. получается, что в первом скрипте
Код:
<?php
     $a=addslashes(trim($a));
     session_name("alilu");
     session_start();
     session_register("var_a");
     $_SESSION["var_a"]=$a;
  
?>
А что делать со вторым скриптом чтобы он увидел сессию.......... не поняла

Старый 06.06.2007, 11:53
Skubent вне форума Посмотреть профиль Отправить личное сообщение для Skubent Посетить домашнюю страницу Skubent Найти все сообщения от Skubent
  № 6  
Ответить с цитированием
Skubent
 
Аватар для Skubent

Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
Отправить сообщение для Skubent с помощью ICQ
Kikasso, откуда такая древность берется ? Не учи человека плохому. И сам переучивайся. И никогда-никогда не ешь жел... не используй собаку.

alilu, session_start() что делает ? В какой момент скрипт стартует, в какой завершается ? В какое время исполняется первый скрипт, в какое время исполняется второй скрипт ? Что между ними общего ? Какие данные они получают от пользователя ?

Много вопросов получилось, конечно.
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.

Старый 06.06.2007, 15:46
alilu вне форума Посмотреть профиль Отправить личное сообщение для alilu Найти все сообщения от alilu
  № 7  
Ответить с цитированием
alilu

Регистрация: Jan 2007
Сообщений: 107
Создала флеш файлик для проверки
Его содержимое:
1. _root.send_btn // кнопка для отправки
2. _root.load_btn // кнопка для загрузки
3. _root.send_txt// поле ввода значения переменной
4. _root.load_txt // поле для загрузки значения переменной
5. _root.msg_txt // поле для проверки что все ок
------------
Схема желаемой работы:
1. Вводим текст в поле ввода
2. нажимаем отправить ( работает send.php)
3. нажимаем загрузить (Работает load.php)
4. выводится значение
-------------------
во флеш
Код:
_root.send_btn.onRelease = function() {
	send_script.a = _root.send_txt.text;
	send_script.sendAndLoad("send.php", load_script, "POST");
	load_script.onLoad = function(ok:Boolean) {
		if (ok) {
			msg = load_script.sstat;
		} else {
			msg = "no_send";
		}
		_root.msg_txt.text = msg;
	};
};
_root.load_btn.onRelease = function() {
	loaded_script.load("load.php");
	loaded_script.onLoad = function(ok:Boolean) {
		if (ok) {
			msg = loaded_script.sstat;
		} else {
			msg = "no_load";
		}
		_root.load_txt.text = msg;
	};
};
Те самые php файлы
send.php
Код:
<?php
     $a=addslashes(trim($a));
     session_start();
     $_SESSION['var_a']=$a;
     $status="ok";
     echo 'sstat='.$status;
?>
Код:
<?php
     $b=$_SESSION['var_a'];
     echo 'sstat='.$b;
?>
вот вроде и вся ситуация

PS. все варс и лоадварс заранее объявлены


Последний раз редактировалось alilu; 06.06.2007 в 15:48.
Старый 06.06.2007, 16:02
Skubent вне форума Посмотреть профиль Отправить личное сообщение для Skubent Посетить домашнюю страницу Skubent Найти все сообщения от Skubent
  № 8  
Ответить с цитированием
Skubent
 
Аватар для Skubent

Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
Отправить сообщение для Skubent с помощью ICQ
alilu, на волне предыдущего объяснения отвечу сам на свои вопросы. В дальнейшем надеюсь, что переписывать мануалы не придется.

>> session_start() что делает ?
Рассказывает скрипту, что надо запустить механизм сессий и заполнить массив $_SESSION, если надо/есть чем.

>> В какой момент скрипт стартует, в какой завершается ?
Скрипт send.php работает после нажатия юзером кнопки отправить.
В первой строке не $a=addslashes(trim($a));, а $a=addslashes(trim($_POST['a'])); - это к вопросу о том, что разработчик скрипта всегда должен знать, откуда берутся данные.
Во второй строке отдается команда запустить механизм сессий, а именно - создать уникальное имя сессии, послать пользователю заголовок с целью установить cookie, содержащую это самое имя и в третьих, проверить наличие и, если его нет, создать файл (в дефолтной конфигурации пхп) с именем вида sess_идентификатор _сессии.
В третьей строке в массив $_SESSION кладется переменная.
В четвертой строке переменная статус, в пятой ее вывод пользователю.
В шестой строке скрипт завершает работу, при этом содержимое массива $_SESSION складывается в созданный в строке два файл.

>> В какое время исполняется второй скрипт ?
Второй скрипт исполняется после того, как пользователь нажал кнопку загрузить. Для сервера - как бы быстро не нажимал кнопки пользователь - прошло огромное количество времени. О том, что когда-то работал первый скрипт, второй знать не знает. Как не знает и о том, что механизм сессий должен быть запущен.

>> Что между ними общего ?
Ничего. Вообще. Только желание разработчика, чтобы они (скрипты) работали с одними данными.

>> Какие данные они получают от пользователя ?
Помимо того, что явно передает в них разработчик, скрипты получают, cookie от пользователя - если, конечно, оные куки у пользователя установлены, - с идентификатором сессии.

Еще наводящие вопросы задавать ? Отвечать на них больше не буду .
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.

Старый 06.06.2007, 17:01
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 9  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
Сообщение от Skubent
Kikasso, откуда такая древность берется ? Не учи человека плохому. И сам переучивайся. И никогда-никогда не ешь жел... не используй собаку.
Чем собачка-то не угодила? Вам больше warning'и нравятся? Напишите как по-модному, переучусь.

alilu, сессию стартовать надо во всех php, использующих переменные сессии. Перед этим желательно дать сессии имя. Для проверки надо создавать не флеш-файлик, а html - формочку, потому что php все ошибки кидает в броузер (если не перехватывать поток).
До старта сессии никакого вывода в броузер не должно быть - иначе куки сессии не будут установлены.

Старый 06.06.2007, 17:03
alilu вне форума Посмотреть профиль Отправить личное сообщение для alilu Найти все сообщения от alilu
  № 10  
Ответить с цитированием
alilu

Регистрация: Jan 2007
Сообщений: 107
можно еще пару наводящих вопросов, ответов не требуется:-) сама буду искать....... честно говоря уже голова кругом:-)

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:25.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.