Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Перестала работать отправка данных в PHP (http://www.flasher.ru/forum/showthread.php?t=146996)

Parez 23.11.2010 22:39

Перестала работать отправка данных в PHP
 
Вложений: 1
Здравствуйте.
У меня проблема. Я написал небольшое приложение, которое должно отправлять данные на сервер и ждать от него ответа. После получения ответа от сервера, значение полученной от скрипта переменной выводится в текстовое поле. В общем всё элементарно. Более того всё работает... пока на локальном тестовом сервере. Когда я залил это приложение на хостинг, оно успешно перестало работать.

В общем всё это выглядит следующим образом:
http://parez.hdd1.ru/SR.html

t4arty 23.11.2010 22:49

PHP код:

package {
    
import flash.display.Sprite;
    
import flash.events.Event;
    
import flash.events.TextEvent;
    
import flash.net.*;
    
import flash.text.TextField;

    public class 
lol extends Sprite {
        public var 
vLoader:URLLoader = new URLLoader();
        public var 
vRequest:URLRequest = new URLRequest();
        public var 
vVariable:URLVariables = new URLVariables();
        public var 
stat_request:URLRequest=new URLRequest("http://t4arty.hdd1.ru/index1.php");
        
        public function 
lol () {
            var 
stat_loader:URLLoader = new URLLoader();
            var 
stat_request:URLRequest=new URLRequest("http://yoursite.ru/index.php");// заменяем на ссылку к вашему скрипту
            
stat_request.method URLRequestMethod.POST;
            
            var 
stat_vars:URLVariables = new URLVariables();
            
stat_loader.dataFormat URLLoaderDataFormat.VARIABLES;
            
stat_vars['auth_key']="5";
            
stat_vars['viewer_id']="10";
            
stat_request.data stat_vars;
            
stat_loader.load(stat_request);
            
stat_loader.addEventListener(Event.COMPLETEComplete);
            
            
        }
        
        public function 
Complete(e:Event):void {
            var 
vVar:URLVariables = new URLVariables(e.target.data);
            var 
s:String String(vVar.ans);
            var 
ss:String String(e.currentTarget.data);
            
            var 
tf1:TextField = new TextField();
            var 
tf2:TextField = new TextField();
            
stage.addChild(tf1);
            
stage.addChild(tf2);
            
            
tf1.border true;
            
tf2.border true;
            
tf1.borderColor 0xff00ff;
            
tf2.borderColor 0xff00ff;
            
            
tf1.width 400;
            
tf1.height 100;
            
tf1.tf1.20;
            
            
tf2.width tf1.width;
            
tf2.height tf1.height;
            
tf2.tf1.x;
            
tf2.tf1.110;
            
            
tf1.appendText(s);
            
tf2.appendText(ss);
        }
    }


думаю разберешься, auth_key и viewer_id это перемененные которые отдаются php скрипту, а ans это переменная которую возвращает php.

Parez 23.11.2010 23:32

t4arty, ты читал, то что я написал? Зачем ты мне отправляешь то, что я итак сделал. У меня вопрос в другом: не то как это сделать, а ПОЧЕМУ не работает на удалённом хостинге.

t4arty 24.11.2010 00:24

у тебя в переменную приходит текс, которые содержит твоя страничка, т.е к флешу приходит ответ ввиде такого: "answer = good bla bla <>" и т.д. = )

заплати 30р, у тебя уберут рекламу с сайта и будет тебе счастье. удачи.

ПС: Свой держу там же. была такая проблема.

Parez 24.11.2010 11:34

t4arty, то есть если я отключу рекламу, всё будет работать нормально?
Не могу понять связи того, что не работает взаимодействие, с рекламой... То есть каким-то образом реклама на странице вмешивается в исполнение PHP скрипта и возвращает переменные с другими названиями???
Можешь с этого момента поподробнее?

p.s.
Действительно, вроде работает, но я всё равно связи не вижу. Можешь объяснить почему так?

и ещё один вопрос: Почему у меня даже после того как данные скрипту переданы, браузер всё-равно пишет, что идёт передача данных?

t4arty 24.11.2010 22:40

насчет того почему еще идет загрузка - не знаю, сам ищу причину.

Реклама, когда передаются данные из php, то в ответ добовляеться тект рекламы, примерно такого сожержания: "var="peredano (много пробелов) и всякая хтмл чушь". :)

Parez 24.11.2010 22:46

Так если бы она просто добавлялась, тогда по идее изначальные данные всё равно бы возвращались. В любом случае что-то же должно вернуться во Flash. Тем не менее не возвращается ничего...

t4arty 24.11.2010 22:54

кстати, в Вашем фла я вообще кода не обнаружил (мб мой cs4 тупит ;( )

Parez 24.11.2010 23:01

Странно... по идее весь код в первом кейфрейме на слое actions...
Код AS3:

send_mc.buttonMode = true;
 
var urlReq:URLRequest = new URLRequest("return.php");
var urlLoader:URLLoader = new URLLoader();
var urlVars:URLVariables = new URLVariables();
 
send_mc.addEventListener(MouseEvent.CLICK, sendName);
 
function sendName(event:MouseEvent):void
{
        urlVars.userName = input_txt.text;
        urlReq.data = urlVars;
        urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
        urlReq.method = URLRequestMethod.POST;
 
        urlLoader.addEventListener(Event.COMPLETE, checkUserName);
 
        try
        {
                urlLoader.load(urlReq);
        }
        catch(e:Error)
        {
                stat_txt.text = "ERROR!";
        }
}
 
function checkUserName(event:Event):void
{
        stat_txt.text = "FINISH!";
        output_txt.text = urlLoader.data.user;
 
        urlLoader.close();
}


Хемуль 25.11.2010 12:42

На http://parez.hdd1.ru/SR.html работает.


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

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