![]() |
Значение переменной в сессии=Undefined
Задача:
1. из флеша передать в пхп значение переменной 2. в пхп сделать эту переменную глобальной 3. при загрузке другой страницы вызывать другой пхп файл и извлечь эту глобальную переменную --- С отправкой и получением данных во флеш проблем нет (спасибо Loadvars) После штудирования мануала по пхп написала два скрипта: 1. для создания глобальной переменной Код:
<?Код:
<?Help me^-) please |
Ну и откуда во втором примере возьмется сессия ?
ЗЫ. Не имеет отношения к проблеме. Надо привыкать писать полный php-тэг в начале скрипта. В смысле <?php. |
Эх, если бы я знала откуда ей там взятся, то наверняка она бы уже там появилась:-)Проблема в незнании, точнее непонимании
|
Код:
@session_name("someName"); |
Не совсем понимаю. Не в принципе нужна одна переменная в сессии
Т.е. получается, что в первом скрипте Код:
<?php |
Kikasso, откуда такая древность берется ? Не учи человека плохому. И сам переучивайся. И никогда-никогда не ешь жел... не используй собаку.
alilu, session_start() что делает ? В какой момент скрипт стартует, в какой завершается ? В какое время исполняется первый скрипт, в какое время исполняется второй скрипт ? Что между ними общего ? Какие данные они получают от пользователя ? Много вопросов получилось, конечно. |
Создала флеш файлик для проверки
Его содержимое: 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.php Код:
<?phpКод:
<?phpPS. все варс и лоадварс заранее объявлены |
alilu, на волне предыдущего объяснения отвечу сам на свои вопросы. В дальнейшем надеюсь, что переписывать мануалы не придется.
>> session_start() что делает ? Рассказывает скрипту, что надо запустить механизм сессий и заполнить массив $_SESSION, если надо/есть чем. >> В какой момент скрипт стартует, в какой завершается ? Скрипт send.php работает после нажатия юзером кнопки отправить. В первой строке не $a=addslashes(trim($a));, а $a=addslashes(trim($_POST['a'])); - это к вопросу о том, что разработчик скрипта всегда должен знать, откуда берутся данные. Во второй строке отдается команда запустить механизм сессий, а именно - создать уникальное имя сессии, послать пользователю заголовок с целью установить cookie, содержащую это самое имя и в третьих, проверить наличие и, если его нет, создать файл (в дефолтной конфигурации пхп) с именем вида sess_идентификатор _сессии. В третьей строке в массив $_SESSION кладется переменная. В четвертой строке переменная статус, в пятой ее вывод пользователю. В шестой строке скрипт завершает работу, при этом содержимое массива $_SESSION складывается в созданный в строке два файл. >> В какое время исполняется второй скрипт ? Второй скрипт исполняется после того, как пользователь нажал кнопку загрузить. Для сервера - как бы быстро не нажимал кнопки пользователь - прошло огромное количество времени. О том, что когда-то работал первый скрипт, второй знать не знает. Как не знает и о том, что механизм сессий должен быть запущен. >> Что между ними общего ? Ничего. Вообще. Только желание разработчика, чтобы они (скрипты) работали с одними данными. >> Какие данные они получают от пользователя ? Помимо того, что явно передает в них разработчик, скрипты получают, cookie от пользователя - если, конечно, оные куки у пользователя установлены, - с идентификатором сессии. Еще наводящие вопросы задавать ? Отвечать на них больше не буду :). |
Цитата:
alilu, сессию стартовать надо во всех php, использующих переменные сессии. Перед этим желательно дать сессии имя. Для проверки надо создавать не флеш-файлик, а html - формочку, потому что php все ошибки кидает в броузер (если не перехватывать поток). До старта сессии никакого вывода в броузер не должно быть - иначе куки сессии не будут установлены. |
можно еще пару наводящих вопросов, ответов не требуется:-) сама буду искать....... честно говоря уже голова кругом:-)
|
ТОВАРИСЧИ! Причина всех бед обнаружена! Кодировку UTF-8 сменить на ANSI^-)
Спасибо вам:-) |
Kikasso, использовать собаку - это все равно что зажимать нос и есть протухшее мясо с перцем. Мол, запаху не чувствую, вкус перцем отшибло, значит - нормальное мясо.
|
alilu, если причина в кодировке, то
а) код, приведенный тобой не тот, что работает на самом деле б) имеют место быть специфические настройки пхп. |
| Часовой пояс GMT +4, время: 18:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.