Показать сообщение отдельно
Старый 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>