Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Flash+PHP не работают на разных серваках (http://www.flasher.ru/forum/showthread.php?t=174614)

Nikolay437 29.01.2012 19:01

Flash+PHP не работают на разных серваках
 
Всем привет!
Знаю, что подобные темы здесь уже были, но они мне не помогли, как и не помог гугл за целую неделю.
Суть: флешка с пхп работают, только если находятся в одном месте. А нужно чтоб пхп лежал на одном сервере и флеш с любого другого нормально с ним связывался. Для теста есть флешка со следующим кодом:
Код AS1/AS2:

var lv:LoadVars = new LoadVars ();
bt.onRelease = function () {
        lv.message = "Hello!";
        lv.sendAndLoad (_root.PHPpath.text,lv,"POST");
        lv.onData = function (text:String):Void  {
                pole.text = text;
        };
};
System.useCodepage = true;

Для удобства сделал поле PHPpath, в которое пишется собственно путь к php-файлу. при нажатии "отправить" скрипту отправляется переменная со значением Hello! и если всё правильно, этот текст возвращается флешке и выводится во втором поле.
php такой:
PHP код:

<?php
    $mess 
= $_POST['message'];
        echo 
"$mess";       
?>

Сама флешка лежит на бесплатном хостинге http://rsportfolio.wallst.ru/test_flash.html
PHP сейчас нигде не лежит (сейчас не имею доступа к другому серверу, но раньше многократно проверял, не работало).
По советам создавал файл crossdomain.xml, пихал его во все возможные папки на обоих серверах - не помогло.
Может есть возможность отследить что именно не работает, может переменная всё таки передаётся, но не возвращается во флеш... Короче нужно как-то подобраться к решению, а то я уже несколько дней топчусь на одном месте, а проект сдавать через два дня.
И ещё работает всё в среде разработки. Т.е. я в самом CS5 нажимаю ctrl+Enter, пишу во флешке ссылку на пхп, расположенный на удалённом хостинге, нажимаю "отправить" и получаю ответ, как и полагается.
Вот такие дела. Заранее спасибо.

mooncar 29.01.2012 20:24

Вложений: 1
Цитата:

Сообщение от Nikolay437 (Сообщение 1059811)
По советам создавал файл crossdomain.xml, пихал его во все возможные папки на обоих серверах - не помогло.

Не надо во всевозможные папки и не надо на все сервера. Это файл системных политик, и значит его его надо класть на тот сервер с доменом, к которому вы хотите иметь доступ с другого домена (то есть к тому, к которому обращается флешка за скриптом).
Распакуйте и положите прикрепленный в конце этого сообщения файл в корневую директорию сервера с вашим скриптом.

Цитата:

Сообщение от Nikolay437 (Сообщение 1059811)
Может есть возможность отследить что именно не работает

Есть. Установите на FireFox плагин HttpFox и следите за запросами. Когда флешка будет обращаться к скрипту в другой домен, вы должны увидеть запрос на этот файл. А потом и запрос на скрипт.
Там же, в последнем запросе, можно будет увидеть и передаваемые переменные, если есть сомнения.

Nikolay437 29.01.2012 20:35

Большое спасибо за советы! Буду пробовать.

Добавлено через 4 часа 58 минут
Действительно, с crossdomain.xml всё заработало, до HttpFox и дело не дошло :confused:
Не понимаю, я сразу так и делал и подозреваю что не раз, а уже когда не заработало начал пихать его куда попало...
Столько времени потерял, что уже и не охота разбираться что не так было.
Mooncar, огромное спасибо за помощь!:drinks:

mooncar 30.01.2012 03:42

Пожалуйста!


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

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