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

Вернуться   Форум Flasher.ru > Flash > Flex

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

Регистрация: Sep 2009
Сообщений: 11
По умолчанию Передача по HTTPService

Доброго времени суток. Возникла такая проблема:
Пытаюсь передать текстовые значения в php скрипт, который должен записать эти данные в БД. С nameChar все проходит отлично, данные записываються, а вот остальные почему то нет. Подскажите где допущена ошибка?
Вот код:
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application layout="absolute" width="400" height="300" xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Script><![CDATA[
		import mx.controls.Text;
		import mx.rpc.events.ResultEvent; //при написании кода вручную, эти импорты появляються сами, первый нужен для
		import mx.controls.Alert; //определения результата, второй для вывода всплывающих окон
 
		private var pic_arr_m:Array = ["img/men1-1.png", "img/men1-2.png", "img/men1-3.png", "img/men1-4.png"]; //создаем масив, который хранит путь к картинкам мужского пола
		private var pic_arr_w:Array = ["img/women2-1.png", "img/women2-2.png", "img/women2-3.png", "img/women2-4.png"]; //создаем масив, который хранит путь к картинкам женского пола
		private var i:int = 0; //числовая переменная равна 0
		private var gr:String;
		private var avaIm:Text;
 
		/* Функция создания чара, отправляет данные которые ввел пользователь */
		private function onCreateChar():void {
			createRequest.send();
		}
		/* Функция выбора RadioButton мужского пола */
		private function iMen():void {
			avatar.load(pic_arr_m[0]); //отображает картинку, которая равна 0 в масиве, тоесть первую картинку
			gr = "1";
		}
		/* Функция выбора RadioButton женского пола */
		private function iWomen():void {
			avatar.load(pic_arr_w[0]);
			gr = "2";
		}
		/* Функция нажатия кнопки "Пред." */
		private function onLeft():void {
			if (men.selected == true){ //если выбран пол "Мужской", то
				avatar.load(pic_arr_m[i]); //картинка равняеться переменной "i"
				i--; //переменная уменьшаеться на 1
				if (i == -1) { //если переменная "i" равна -1, то
					i = 3; //"i" равна 3
				}
			}
				if (women.selected == true) { //если выбран пол "Женский", то
					avatar.load(pic_arr_w[i]); //картинка равняеться переменной "i"
					i--; //переменная уменьшаеться на 1
					if (i == -1) { //если переменная "i" равна -1, то
						i = 3; //"i" равна 3
					}
				}
		}
		/* Функция нажатия кнопки "След." */
		private function onRight():void {
			if (men.selected == true){ //если выбран пол "Мужской", то
				avatar.load(pic_arr_m[i]); //картинка равняеться переменной "i"
				i++; //переменная увеличиваеться на 1
				if (i == 4) { //если переменная "i" равна 4, то
					i = 0; //"i" равна 0
				}
			}
			if (women.selected == true) { //если выбран пол "Женский", то
				avatar.load(pic_arr_w[i]); //картинка равняеться переменной "i"
				i++; //переменная увеличиваеться на 1
				if (i == 4) { //если переменная "i" равна 4, то
					i = 0; //"i" равна 0
				}
			}
		}
 
		private function ava():void {
			if (men.selected == true) {
				if (pic_arr_m[0] == true) {
					avaIm.text = "img/men1-1.png";
				}
				if (pic_arr_m[1] == true) {
					avaIm.text = "img/men1-2.png";
				}
				if (pic_arr_m[2] == true) {
					avaIm.text = "img/men1-3.png";
				}
				if (pic_arr_m[3] == true) {
					avaIm.text = "img/men1-4.png";
				}
			}
			if (women.selected == true) {
				if (pic_arr_w[0] == true) {
					avaIm.text = "img/women2-1.png";
				}
				if (pic_arr_w[1] == true) {
					avaIm.text = "img/wpmen2-2.png";
				}
				if (pic_arr_w[2] == true) {
					avaIm.text = "img/women2-3.png";
				}
				if (pic_arr_w[3] == true) {
					avaIm.text = "img/women2-4.png";
				}
			}
		}
 
		/* Функция определения результата */
		private function onResult(e:ResultEvent):void {
				if (int(e.result) > 0) { //если результат больше 0, тоесть существует, то
					//var link:URLRequest = new URLRequest("http://localhost/game.php"); //создаем ссылку
					//navigateToURL(link, "_self"); //переадресовываем по ссылке
				} else { //в другом случае, если результат не существует, то
					switch (int(String(e.result))) { //считываем данные
						case -1 : //если данные равны "-1", то выводим всплывающее окно
							Alert.show("Неудалось подключиться к базе данных. Попробуйте позже", "Ошибка!");
							break;
						case -2 : //если данные равны "-2", то выводим всплывающее окно
							Alert.show("Такое имя уже существует", "Ошибка!");
							break;
						case -3 : //если данные равны "-3", то выводим всплывающее окно
							Alert.show("Вы не ввели имя", "Ошибка!");
							break;
					}
				}
		}
	]]>		
	</mx:Script>
	<mx:HTTPService id="createRequest" useProxy="false" method="POST" result="onResult(event)" url="reg_comp.php">
        <mx:request>
            <mx:nameChar>{nameChar.text}</mx:nameChar>
			<mx:avatar>{avaIm.text}</mx:avatar>
			<mx:gr>{gr.toString()}</mx:gr>
        </mx:request>
    </mx:HTTPService>
    <mx:Button label="Далее" click="onCreateChar()" x="140" y="252" width="100" height="22"/>
    <mx:TextInput id="nameChar" textAlign="center" x="111" y="222" width="160" height="22"/>
    <mx:Image id="avatar" source="img/men1-1.png" x="171" y="93" width="33" height="33"/>
    <mx:RadioButton id="men" label="Мужской" groupName="gander" selected="true" click="iMen()" x="19" y="41" width="73" height="22"/>
    <mx:RadioButton id="women" label="Женский" groupName="gander" click="iWomen()" x="19" y="67" width="74" height="22"/>
    <mx:Label text="Имя" x="176" y="198" width="36" height="18"/>
    <mx:Button label="Пред." click="onLeft()" x="78" y="141" width="100" height="22"/>
    <mx:Button label="След." click="onRight()" x="200" y="141" width="100" height="22"/>
</mx:Application>

Старый 17.10.2009, 17:54
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 2  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
Код AS3:
		private var gr:String;
		private var avaIm:Text;
поменяй на:
Код AS3:
		[Bindable]
		private var gr:String;
 
		[Bindable]
		private var avaIm:Text;
должно помочь

Старый 17.10.2009, 18:44
RPGman вне форума Посмотреть профиль Отправить личное сообщение для RPGman Найти все сообщения от RPGman
  № 3  
Ответить с цитированием
RPGman

Регистрация: Sep 2009
Сообщений: 11
Помогло только для gr, а avaIm все равно не записывает. Может тут что то не правильно:
Код AS3:
private function ava():void {
			if (men.selected == true) {
				if (pic_arr_m[0] == true) {
					avaIm.text = "img/men1-1.png";
				}
				if (pic_arr_m[1] == true) {
					avaIm.text = "img/men1-2.png";
				}
				if (pic_arr_m[2] == true) {
					avaIm.text = "img/men1-3.png";
				}
				if (pic_arr_m[3] == true) {
					avaIm.text = "img/men1-4.png";
				}
			}
			if (women.selected == true) {
				if (pic_arr_w[0] == true) {
					avaIm.text = "img/women2-1.png";
				}
				if (pic_arr_w[1] == true) {
					avaIm.text = "img/wpmen2-2.png";
				}
				if (pic_arr_w[2] == true) {
					avaIm.text = "img/women2-3.png";
				}
				if (pic_arr_w[3] == true) {
					avaIm.text = "img/women2-4.png";
				}
			}
		}

Старый 17.10.2009, 21:20
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 4  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
1. где ты создаешь экземпляр Text для avaIm?
Код AS3:
private var avaIm:Text;
это объявление переменной. Туда по умолчанию заносится undefined (или null... не помню точно, но не суть)
А у undefined, нет никакого свойства text

2. C flex я еще на большое "Вы", но насколько я знаю, биндится (связывается) непосредственно указанная переменная. Т.е.
Код AS3:
		[Bindable]
		private var avaIm:Text;
avaIm будет реагировать на, например, перезапись ссылки на другой экземпляр класса Text.
Это значит, что надо биндить целевое свойство. Например, используя BindingUtils.bindProperty(...)

P.S. И кончай разбрасываться исходниками!
Это тебе не php скрипт...

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

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

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


 


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


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