Просмотр полной версии : sendAndLoad
Pasquill
29.10.2008, 12:47
Здравствуйте
помогите понять, где ошибка
на кнопку в 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 весь)
';
хоть убей, не могу понять, где ошибка
(исходники прилогаются)
Данные сначала надо собрать в строку, а потом отправить одним 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
вы сформулируйте, что хотите сделать. Судя по вашему коду, вы не понимаете что делаете.
Данные сначала надо собрать в строку, а потом отправить одним echo, а не двумя. Второй все равно не будет работать. По сути это как два раза написать return.
почему не будет?
echo '&a=1';
echo '&b=2';
это нерабочий код?
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');
работает как в локале так и на сервере. :)
Естессно, сработают оба 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%
Действительно работает. Тогда не понятно, почему у меня раньше только одно эхо срабатывало.:o
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.