Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.07.2011, 21:43
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 1  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
По умолчанию Почему в отладке не выполняется php-скрипт?

Почему при отладке по Ctrl+Alt+P (Flash CS3) когда я обращаюсь к php-скрипту через URLLoader в data я получаю не результат выполнения скрипта, а его текст? Когда запускаю скомпилированную флешку из браузера - все нормально. Подскажите, как получить результат вместо самого скрипта при отладке?

Старый 23.07.2011, 22:05
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 2  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
это проблема сервера, а не флеша
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)

Старый 24.07.2011, 00:17
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 3  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Сообщение от carrotoff Посмотреть сообщение
это проблема сервера, а не флеша
А что можно сделать? Сам PHP (под винду) работает. Через браузер все скрипты выполняются, не выполняются только при отладке.

Старый 24.07.2011, 00:23
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Покажи как вызывается PHP-скрипт из флеша?
__________________
Поймай яблоко 2!

Старый 24.07.2011, 11:58
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 5  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Покажи как вызывается PHP-скрипт из флеша?
Вот пример кода:

Код AS3:
package Tmp {
		import flash.display.*;
		import flash.net.*;
		import flash.events.*;
		import flash.text.*;
 
	public class Tmp extends Sprite {
 
		private var PHPLoader:URLLoader;
		protected var Variables:URLVariables;
		protected var Request:URLRequest;
 
		protected var Txt:TextField;
 
		public function Tmp() {
			PHPLoader = new URLLoader();
			PHPLoader.dataFormat = URLLoaderDataFormat.TEXT;
			PHPLoader.addEventListener(Event.COMPLETE,OnComplete);
			Variables = new URLVariables();
			Request = new URLRequest();
			Request.method = URLRequestMethod.POST;
			Request.url = "getservertime1.php";
			PHPLoader.load(Request);
 
			Txt = new TextField();
			Txt.autoSize = TextFieldAutoSize.LEFT;
			Txt.selectable = false;
			Txt.x = 10;
			Txt.y = 10;
			Txt.textColor = 0x000000;
			addChild(Txt);
		}
 
		protected function OnComplete(e:Event):void {
			trace(String(e.target.data));
			Txt.text = String(e.target.data);
		}
 
	}
}
Текст скрипта:

PHP код:
<?php
list($usec, $sec) = explode(" ", microtime());
echo 
round(((float)$usec + (float)$sec)*1000);
?>
Вывод в отладке (Ctrl+Alt+P):

G:\VN Flash\Дополнительно\Tmp\Src\Tmp.fla:
<?php

list($usec, $sec) = explode(" ", microtime());

echo round(((float)$usec + (float)$sec)*1000);

?>


Вывод из браузера (http://localhost/vn/Tmp.swf) :

1311490411672

Старый 24.07.2011, 12:53
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Так и должно быть.

Замени
Код AS3:
Request.url = "getservertime1.php";
на

Код AS3:
Request.url = "http://localhost/vn/getservertime1.php";
__________________
Поймай яблоко 2!

Старый 24.07.2011, 15:15
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 7  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Так и должно быть.

Замени
Код AS3:
Request.url = "getservertime1.php";
на

Код AS3:
Request.url = "http://localhost/vn/getservertime1.php";
Не работает
Выдает ошибку:

G:\VN Flash\Дополнительно\Tmp\Src\Tmp.fla:
Error opening URL 'http://localhost/vn/getservertime1.php'
Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://localhost/vn/getservertime1.php
at Tmp::Tmp$iinit()

Возможно это из-за ненастроенного кросс-домена? Как правильно настроить его на localhost?
Я пытался так:

crossdomain.xml

<? xml version="1.0">
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="http://localhost/vn/" />
<allow-access-from domain="localhost/vn/" />
</cross-domain-policy>

и перед лоадером вызывал
Security.loadPolicyFile("http://localhost/vn/crossdomain.xml");

Ошибка остается

Старый 24.07.2011, 15:30
t4arty вне форума Посмотреть профиль Отправить личное сообщение для t4arty Найти все сообщения от t4arty
  № 8  
Ответить с цитированием
t4arty

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
вызывать ничего не надо.
Код:
<allow-access-from domain="*" />
 <allow-access-from domain="*" />
для теста поставте так.

Старый 24.07.2011, 15:46
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 9  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Это же не секьюрити сэндбокс, а ошибка ввода / вывода. Формат данных вводимых во флеш неверный.
файл-то точно доступен по такому адресу?
Что за сервер вообще используется? Wamp?

Старый 24.07.2011, 15:47
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 10  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Сообщение от t4arty Посмотреть сообщение
вызывать ничего не надо.
Код:
<allow-access-from domain="*" />
 <allow-access-from domain="*" />
для теста поставте так.
Исправил crossdomain.xml так:
Код:
<? xml version="1.0">
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
	<allow-access-from domain="*" />
</cross-domain-policy>
Положил его в localhost и на всякий случай в localhost/vn

Не помогает. В отладчике все равно получаю эту ошибку:
G:\VN Flash\Дополнительно\Tmp\Src\Tmp.fla:
Error opening URL 'http://localhost/vn/getservertime1.php'
Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://localhost/vn/getservertime1.php
at Tmp::Tmp$iinit()

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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