Просмотр полной версии : отправка переменных в 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]!
можно.. наверное... делаешь поле текстовое динмическое да еще и невидимое, заносишь туда все, что тебе необходимо (как строку) а в PHP потом еще разбиваешь на исходные составные части... немного извращенно, но должно работать
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 );
На счет x+=_root["trailer"+i]._x+"::"; - понятно, хотя мне не нужно будет переменные грузиьт обратно в *.swf, мне нужно просто получить файл с этими переменными на сервере.
Ну это ладно. Главное - почему-то не работает - flash говорит Error opening URL "http://localhost/test.php"
Apache вроде запущен... ???
2K WebStudio
18.11.2003, 22:51
Чувак!
Я бы на твоём месте вышел бы из флэша и запустил html!
Торможу... Согласен! :) Только все равно не работает, в файл даже ничего не пишет. Посмотри исходник пожалуйста.
естественно, что не работает, так просто нельзя обращаться к php, он у тебя ничего не возвращает! PHP должен содержать что-то вроде:
....
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<smth>';
echo data; //что-то, что ты отправляешь
echo '</smth>';
....
Извини, что с XML, что было под рукой :)
н-да... с xml теперь совсем завал.... :(
не факт, что это должен быть XML, можно тоже самое написать, только как для обыкновенного loadVariables. Т.е. пишешь:
echo "переменнная=значение&...";
schleicher
19.11.2003, 13:34
Твой пхп не робит
И вообще, я бы по-другому сделал отправку данных в пхп.
Не буду объяснять, почему.
Держи работающий пример. (с поправленым пхп)
Если что непонятно - пиши.
вообще-то это была не отправка, а получение данных от сервака.
schleicher
20.11.2003, 09:25
См вопрос.
Я не знаю, поему тебя унесло в получение данных, но по-моему, чувак хотел отправить данные скрипту пхп и записать их в файл на сервере. С его стороны запроса на получение данных не было. Хотя я с тобой отчасти согласен, что пхп скрипт должен вернуть флэшу хотя бы результат успешности выполнения записи в файл.
И ты в корне не прав, что пхп обязятельно должен чего - то возвращать. Вовсе не обязательно.
Ты прав насчет того, что лучший способ получить данные из скрипта во флэш - это хмл, но ты в своём примере не послал заголовок
пхп:
header("Content-type: application/xml; charset=windows-1251");
без него - плохо. Поверь мне! ;)
22kWebStudio:
твой косяк - split разобъёт строку не на
Array(132,15,235,5436);
а на Array(132,15,235,5436,);
то есть будет пустой элемент массива в конце. а этого нам не надо. Ну не красиво так.
А, впрочем, пофиг!
да, действительно, прошу прощения, надо писать:
header("Content-Type: text/xml");
echo "<?xml ....>"
...
Просто насколько я понял, нужно послать данные в php, создать им файл, чтобы потом открыть его в swiff'е для дальнейшего использования, я просто предложил немного альтернативный подход - без создания файла... по-моему так быстрее. А как посылать данные вроде уже решили. :)
да, действительно, прошу прощения, надо писать:
header("Content-Type: text/xml");
echo "<?xml ....>"
...
Просто насколько я понял, нужно послать данные в php, создать им файл, чтобы потом открыть его в swiff'е для дальнейшего использования, я просто предложил немного альтернативный подход - без создания файла... по-моему так быстрее. А как посылать данные вроде уже решили. :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.