Форум 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)
-   -   sendAndLoad (http://www.flasher.ru/forum/showthread.php?t=117509)

Pasquill 29.10.2008 12:47

sendAndLoad
 
Вложений: 1
Здравствуйте
помогите понять, где ошибка
на кнопку в flash пишу :
Код:

on(release) {
  if(_root.pole1.text && _root.pole2.text) {
        var us_pole:LoadVars = new LoadVars();
        us_pole.pole1 = _root.pole1.text;
        us_pole.pole2 = _root.pole2.text;
        trace(_root.pole1.text); //выводит значение поля 1
        us_pole.sendAndLoad("us_pole.php", us_pole, "POST");
        us_pole.onLoad = function(success) {
        if(success) {
                        trace(us_pole.pole1); //выводит значение, если находит файл us_pole.php
                        getURL("us_pole.php", "_self");
                    }
        }
  }
}

в us_pole.php пишу :
Код:

if($_POST['pole1']) {
                        echo $_POST['pole1'];
                        echo $_POST['pole2'];
                    }
else {
echo        '
          //  просто все, что необходимо для отображения flash (тоесть html весь)
          ';

хоть убей, не могу понять, где ошибка
(исходники прилогаются)

iNils 29.10.2008 13:14

Данные сначала надо собрать в строку, а потом отправить одним echo, а не двумя. Второй все равно не будет работать. По сути это как два раза написать return.

Pasquill 29.10.2008 13:57

iNils
тоесть, я так понимаю, в даной flash'ке ошибок точно нет

если имеется в виду записать:
Код:

$pole.=$html; // html сопутсвующий flash'ке
$pole.=$_POST['pole1'];
$pole.=$_POST['pole2'];
echo $pole;

то ничего не изменилось ( после нажатия кнопки на странице не появляется никаких надписей

уже и меняю
allowScriptAccess="always" на allowScriptAccess="sameDomain" и обратно
в flash _self на _blank
POST на GET (b соответсвенно в php)
или вообще на кнопку вешаю одно задание
Код:

getURL("us_pole.php", "_self", "POST");
ничего.. абсолютно

уже иду по пути наименьшего сопротивления, действую по уроку (http://www.rastyle.com/articles/index.php?id=16)
ставлю на файл result право изменять его, НО даже этот урок не работает
всемирный заговор против меня или где-то какие-то хитрые настройки, которые мне раньше не замечались и на другом хостинге были выставлены по-другому... ну ЧТО может это быть???

Mnilionic 29.10.2008 20:37

вы сформулируйте, что хотите сделать. Судя по вашему коду, вы не понимаете что делаете.

Цитата:

Сообщение от iNils (Сообщение 773522)
Данные сначала надо собрать в строку, а потом отправить одним echo, а не двумя. Второй все равно не будет работать. По сути это как два раза написать return.

почему не будет?
Код:

echo '&a=1';
echo '&b=2';

это нерабочий код?

iNils 29.10.2008 23:56

2 Mnilionic:
Не рабочий. После первого же echo, флеш больше не ждет ответа.

Mnilionic 30.10.2008 00:38

2iNils:
не хочу говорить что вы не правы, но код рабочий :)
Код:

<?php
for( $i=0; $i<10; $i++){
    echo "&var{$i}=string # {$i}";
}
?>

Код:

var obj = new LoadVars();
obj.onLoad = function(loaded){
        if(loaded){
                for(prop in this) txt.text+= prop + ' = ' + this[prop] + '\n';
        }else txt.text = 'error';
}
obj.sendAndLoad('script.php', obj, 'post');

работает как в локале так и на сервере. :)

dimarik 30.10.2008 01:01

Естессно, сработают оба echo.

laurisgutmanis 30.10.2008 04:05

2 iNils: работает, работает :boredom:

Это же поток, с таким же успехом флеш могбы остановиться не прочитав и половины переменной.

Он(flash) ждет бита конца строки.


Работает на PHP уже больше года, выкидываю таким образом ошибки если есть, для дальнейшей обработки flash.

2 Pasquill:

Почти из хелпа... :mosking:

Пример:
Код:

//////////////////////////////////
var rezultat:LoadVars = new LoadVars(); //Новый обьект для приема
var sends:LoadVars = new LoadVars(); //новый объект для отсылки
var urls = 'http://flash.localhost/onload.php'; // ссылка куда посылать!



rezultat.onLoad = function(success:Boolean) {
        if (success) {
                        _root.txt.text = rezultat.Messages; //выводит в текствый бокс
                        trace('OK!:'+rezultat.Messages);
                        trace('Result: '+rezultat.answer);
        } else {
                        trace("Error connecting to server.");
        }
};

on(release) {
 if(_root.pole1.text && _root.pole2.text) {
sends.php_pole1 = _root.pole1.text;
sends.php_pole2 = _root.pole2.text;

sends.sendAndLoad(urls, rezultat, "POST"); //Посылаем!
}
}

и php к нему:
Код:

<?
Echo '&Messages=HEllo Pipla:'.$php_pole1;
Echo '&answer=it is Answer'.$php_pole2.'&';
?>


на конце всегда ставлю & так как иногда (Win/Unix/Mac) конец строки глючит, и иногда в конец переменной flash добавляет переход строки, с & его не будет 100%

iNils 30.10.2008 10:26

Действительно работает. Тогда не понятно, почему у меня раньше только одно эхо срабатывало.:o


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

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