Форум 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)
-   -   отправка переменных в php-скрипт (http://www.flasher.ru/forum/showthread.php?t=51635)

: hr : 18.11.2003 21:28

отправка переменных в php-скрипт
 
Господа, подскажите пожалуйста новичку... :) Суть проблемы - на _root существует несколько клипов, допустим trailer1,trailer2,... trailer10. Нужно отправить свойства каждого клипа _x, _y, скрипту php. Скрипт должен сохранить их в файл.
Я понимаю, что action script должен выглядеть примерно так?

for (i=1; i<8; i++) {
x = _root["trailer"+i]._x;
y = _root["trailer"+i]._y;
loadVariables("http://www.mysite.com/script.php?x,y", "", "POST");
}

...а можно ли переменные посылать не для каждого объекта, а сразу все?

Прошу также помощи в "приемном" php-скрипте.

Буду крайне благодарен! :)

2K WebStudio 18.11.2003 21:51

for(i=0; i<10; i++){
x+=_root["trailer"+i]._x+"::";
y+=_root["trailer"+i]._y+"::";
}
потом соответственно грузишь всё это в пхп,потом пхп:
$New="x="$x":::""y="$y;
$filename="1.txt";
$fp = fopen( $filename,"w+");
fwrite($fp, $New, 80000);
fclose( $fp );
вот!
Наверное, возникает вопрос, а как потом это оттуда вытаскивать, вот ответ:
грузишь в swf, потом:
xar=x.split("::");
yar=y.split("::");
вот, вроде бы и всё!
Доставать потом, как из массива!
yar[i]!

Dr.OH 18.11.2003 21:56

можно.. наверное... делаешь поле текстовое динмическое да еще и невидимое, заносишь туда все, что тебе необходимо (как строку) а в PHP потом еще разбиваешь на исходные составные части... немного извращенно, но должно работать

: hr : 18.11.2003 22:14

2K WebStudio, ОГРОМНОЕ СПАСИБО! Еще парочка маленьких нюансов :)

гружу в пхп я так?
loadVariables("http://www.mysite.com/script.php?x,y", "", "POST");

Потом, зачем += ?
x+=_root["trailer"+i]._x+"::";

Мне бы нужно чтобы в файле было что-то вроде x1=10,y1=10,x2=15,y2=23 допустим...

И 2K WebStudio пожалуйста, если не затруднит, можно маленькие комментарии по коду php - а то вообще ничего не понятно :)

2K WebStudio 18.11.2003 22:30

1. Просто loadVariables("*.php", "GET/POST");// метод зависит от того, когда ты собираешься принимать переменные!
2. Так быстрее!
x+=_root["trailer"+i]._x+"::";
получится:
132::15::235::5436::
потом это разобъётся вот на это:
xar=new Array(132,15,235,5436);
это делается строкой xar=x.split("::");
3.
#совмещает две переменные и делает вот так: x=21::34::325&y=35::35::5654
$New="x="$x"&""y="$y;
#имя открываемого файла для записи
$filename="1.txt";
#открытие файла
$fp = fopen( $filename,"w+");
#запись в файл
fwrite($fp, $New, 80000);
#закрытие файла
fclose( $fp );

: hr : 18.11.2003 22:47

На счет x+=_root["trailer"+i]._x+"::"; - понятно, хотя мне не нужно будет переменные грузиьт обратно в *.swf, мне нужно просто получить файл с этими переменными на сервере.
Ну это ладно. Главное - почему-то не работает - flash говорит Error opening URL "http://localhost/test.php"
Apache вроде запущен... ???

2K WebStudio 18.11.2003 22:51

Чувак!
Я бы на твоём месте вышел бы из флэша и запустил html!

: hr : 18.11.2003 23:35

Вложений: 1
Торможу... Согласен! :) Только все равно не работает, в файл даже ничего не пишет. Посмотри исходник пожалуйста.

Dr.OH 18.11.2003 23:58

естественно, что не работает, так просто нельзя обращаться к php, он у тебя ничего не возвращает! PHP должен содержать что-то вроде:
PHP код:

....
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<smth>';
echo data; //что-то, что ты отправляешь
echo '</smth>';
....

Извини, что с XML, что было под рукой :)

: hr : 19.11.2003 00:04

н-да... с xml теперь совсем завал.... :(

Dr.OH 19.11.2003 10:37

не факт, что это должен быть XML, можно тоже самое написать, только как для обыкновенного loadVariables. Т.е. пишешь:
echo "переменнная=значение&...";

schleicher 19.11.2003 13:34

Вложений: 1
Твой пхп не робит
И вообще, я бы по-другому сделал отправку данных в пхп.
Не буду объяснять, почему.
Держи работающий пример. (с поправленым пхп)
Если что непонятно - пиши.

Dr.OH 20.11.2003 00:08

вообще-то это была не отправка, а получение данных от сервака.

schleicher 20.11.2003 09:25

2drOH
 
См вопрос.

Я не знаю, поему тебя унесло в получение данных, но по-моему, чувак хотел отправить данные скрипту пхп и записать их в файл на сервере. С его стороны запроса на получение данных не было. Хотя я с тобой отчасти согласен, что пхп скрипт должен вернуть флэшу хотя бы результат успешности выполнения записи в файл.
И ты в корне не прав, что пхп обязятельно должен чего - то возвращать. Вовсе не обязательно.
Ты прав насчет того, что лучший способ получить данные из скрипта во флэш - это хмл, но ты в своём примере не послал заголовок
пхп:
header("Content-type: application/xml; charset=windows-1251");
без него - плохо. Поверь мне! ;)

22kWebStudio:
твой косяк - split разобъёт строку не на
Array(132,15,235,5436);
а на Array(132,15,235,5436,);
то есть будет пустой элемент массива в конце. а этого нам не надо. Ну не красиво так.
А, впрочем, пофиг!

Dr.OH 20.11.2003 12:23

да, действительно, прошу прощения, надо писать:
header("Content-Type: text/xml");
echo "<?xml ....>"
...
Просто насколько я понял, нужно послать данные в php, создать им файл, чтобы потом открыть его в swiff'е для дальнейшего использования, я просто предложил немного альтернативный подход - без создания файла... по-моему так быстрее. А как посылать данные вроде уже решили. :)

Dr.OH 20.11.2003 12:32

да, действительно, прошу прощения, надо писать:
header("Content-Type: text/xml");
echo "<?xml ....>"
...
Просто насколько я понял, нужно послать данные в php, создать им файл, чтобы потом открыть его в swiff'е для дальнейшего использования, я просто предложил немного альтернативный подход - без создания файла... по-моему так быстрее. А как посылать данные вроде уже решили. :)


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

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