Форум 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=121403)

Sajaxt 15.02.2009 21:29

Передача данных PHP скрипту
 
Доброе время суток!

у меня возникла следующая проблема:
Имеется код АС3, также во флэшке лежит текстовое поле txt и кнопка btn.

КОд АС3:
Код AS3:

import flash.events.*;
import flash.display.*;
import flash.net.*;
 
var variables:URLVariables = new URLVariables("TXT = Hello");
var req:URLRequest = new URLRequest("ind.php");
var loader:URLLoader = new URLLoader();
 
req.method = URLRequestMethod.POST;
req.data = variables;
 
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE,loader_loaded);
 
function loader_loaded(e:Event):void{
    txt.text = e.target.data.string;
}
 
btn.addEventListener(MouseEvent.MOUSE_UP,loader_load);
 
function loader_load(e:MouseEvent):void{
    loader.load(req);
}

ind.php:
PHP код:

<?php
    
if($_POST['TXT']=="Hello"){
        
$string="Hello World!!!";
    }
?>

Когда запуска. всё это на сервере, выскакивает ошибка Флэщплэйера:

Error #2101: строка переданная URLVariables.decode() должена быть ввиде Строки-Запроса пара Имя/Значение.
Вроде всё правильно пишу..
Подскажите поджалуйста, что я не так делаю. :rolleyes:

Зарание благодарен!

BlooDHounD 15.02.2009 21:43

а Вы ошибки, совсем не понимать?
"TXT = Hello" - это что?

Sajaxt 15.02.2009 21:50

пара имя-значение

wvxvw 15.02.2009 22:00

variables.TXT = "Hello";

Sajaxt 15.02.2009 22:09

и так делал, глухо!

BlooDHounD 15.02.2009 22:37

Sajaxt, перед равно уж точно не должно быть пробелов.

Sajaxt 15.02.2009 22:39

Хоть с пробелами хоть без, одно и тоже!

etc 15.02.2009 22:48

Ваш php-код ничего не делает. Точнее, он никакого результата своей работы не возвращает.

Sajaxt 15.02.2009 22:56

только что удалил из ас кода вот эту строку:

Код AS3:

txt.text = e.target.data.string;

тоюиж не запрашиваю никакого результата, и всё равно выскакивает эта ошибка

etc 15.02.2009 23:05

А с чего вы взяли, что созданная в php-скрипте переменная просто так попадёт в ваш ролик? Для того, чтобы получить какой-то результат, надо сформировать в php-коде отформатированную для URLVariables строку и вернуть её.

Sajaxt 15.02.2009 23:11

а как это сделать?
плюс ошибка то выскакивает и при передачи переменной из скрипта ас в скрипт пхп..

silin 15.02.2009 23:58

ошибка именно при попытке пропарсить ответ
loader.dataFormat = URLLoaderDataFormat.VARIABLES; подразумевает, что придет пара типа string=Hello
т.е. пхп должен так и отдать: echo "string=$string";

либо убрать dataFormat = URLLoaderDataFormat.VARIABLES и смотреть loader.data

Sajaxt 16.02.2009 00:10

изменил PHP:

PHP код:

<?php
    
if($_POST['TXT']=="Hello"){
        print(
"&string=Hello World!!!")
    }
?>


wvxvw 16.02.2009 01:00

Код:

print "&string=Hello%20World!!!";
- уберите скобки.
- пробел не валидный символ URI компонента.
- в РНР точка с запятой обязательны.

Sajaxt 16.02.2009 01:03

таже самая история :(

Добавлено через 7 минут
всё работает :) Большое всем спасибо за участие

Добавлено через 28 минут
И снова я,
В браузере, туже ошибку выдаёт...

Alex Lexcuk 16.02.2009 12:45

>>В браузере, туже ошибку выдаёт...
Странно... Это читали?
http://www.flasher.ru/forum/showthread.php?t=113083

wvxvw 16.02.2009 13:42

В браузере наверное 10-й плеер. 10-й почему-то не любит амперсанд перед данными.

Sajaxt 16.02.2009 19:06

нашел что ни так, в Firefox'е надо было убрать галочку с "Файл->Работать автономно"


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

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