![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2011
Сообщений: 5
|
Который день бьюсь, не могу понять что происходит.. ПХП скрипт работает, данные отправляет..
А вот во флэше не хочет... не присваивает данные.. и либо он их не получает правильно, либо ошибка с присваиванием.. вот код PHP
echo ("plevel_msg=1"); echo ("return_msg=$auto"); Сделано для проверки где могла быть ошибка с присвоением в самом флеше.. проверял что он через $variables делает.. и что на прямую.. правда ничего не помогло в конечном счете остаться должно только echo($variables);Теперь код из AS3 //Останавливаем игру ролика stop(); //Курсор в окне ввода логина stage.focus=login_txt; //Текстовые поля для вывода системных сообщений var log_status_txt:TextField = new TextField(); log_status_txt.x = 170; log_status_txt.y = 65; log_status_txt.selectable = false; log_status_txt.autoSize = TextFieldAutoSize.CENTER; addChild(log_status_txt); //Объявляем переменные var user_login:String; var user_password:String; var user_id:int; var plevel:int; var uniq_id:String; var auto:int; var regVis:Boolean; var variables:URLVariables = new URLVariables(); //хранилище переменных для передачи в скрипт var varLogin:URLRequest = new URLRequest("data/login.php"); varLogin.method = URLRequestMethod.POST; varLogin.data = variables; var varLoader:URLLoader = new URLLoader(); varLoader.dataFormat = URLLoaderDataFormat.VARIABLES; varLoader.addEventListener(Event.COMPLETE, completeHandler); //Функция для отображения обработки PHP скрипта и возврата статуса function completeHandler(event:Event):void{ pass_txt.text = ""; plevel = event.target.data.plevel_msg; uniq_id = event.target.data.variables.uniq_id; auto = event.target.data.return_msg; if (auto == 0){ log_status_txt.text = ("Auto: " + auto + " Uniq_id: " + uniq_id + " Plevel: " + plevel); } else { log_status_txt.text = ("Auto: " + auto + " Uniq_id: " + uniq_id + " Plevel: " + plevel); } } //Отслеживания нажатия комбинации клави для регистрации stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed); function onKeyPressed(evt:KeyboardEvent):void { if (evt.keyCode == Keyboard.F2 && evt.ctrlKey == true){ reg_btn.visible=!reg_btn.visible; } } reg_btn.visible=regVis; //Отслеживание нажатия на кнопку регистрации reg_btn.addEventListener(MouseEvent.CLICK, ButtonRegScreenPressed, false, 0, true); //Функция отправки данных регистрации function ButtonRegScreenPressed(event:MouseEvent):void{ gotoAndStop(2) }//Закрыта функция перехода на страницу регистрации //Отслеживание нажатия на кнопку входа login_btn.addEventListener(MouseEvent.CLICK, buttonLoginPressed, false, 0, true); //Функция проверки данных логина function buttonLoginPressed(event:MouseEvent):void{ //Проверка введенных данных log_status_txt.text = ""; if(login_txt.length < 1){ log_status_txt.text = "Введите имя пользователя"; } else if(pass_txt.length < 1){ log_status_txt.text = "Введите пароль"; } else { //Все данные верны. //Подготовка данных для отправки в файл PHP скрипт variables.user_login = login_txt.text; variables.user_password = pass_txt.text; //Отправка данных в PHP скрипт varLoader.load(varLogin); }//Закрыт IF и все Else }//Закрыта функция отправки данных uniq_id = event.target.data.variables.uniq_id; auto = event.target.data.return_msg; а тут кокрас проверял по какому типу что он мне выдаст, в итоге ничего нигде не присвоил... т.е. текст получился такой log_status_txt.text = Auto: 0 Uniq_id: null Plevel: 0 |
|
|||||
|
[+1 24.05.11]
[+1 09.08.11] Регистрация: Mar 2011
Сообщений: 101
|
Я принимаю данные вот так:
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 5
|
Спасибо, данные получаю теперь
добавил function completeHandler(event:Event):void{ pass_txt.text = ""; var variables:URLVariables = new URLVariables( event.target.data ); var uniq_id = variables.uniq_id; var plevel = variables.plevel; var auto = variables.auto; if (auto == 0){ log_status_txt.text = ("Uniq_id: " + uniq_id + " Plevel: " + plevel + " Auto: " + auto); } else { log_status_txt.text = ("Uniq_id: " + uniq_id + " Plevel: " + plevel + " Auto: " + auto); } } Т.е. он все данные забивает тут uniq_id = variables.uniq_id; А в plevel и auto ничего не пишет.. я так понимаю у меня ошибка тогда с присвоением в php скрипте какая-то: |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 5
|
не работает
public function onComplete (event:Event):void{ var variables:URLVariables = new URLVariables( event.target.data ); var var1=variables.VAR1; var var2=variables.VAR2; var var3=variables.VAR3; Выглядит это так uniq_id=123213 plevel=6 auto=1, plevel=null, auto=null Могли бы вы написать как выглядит у вас присваивание в php? |
|
|||||
|
[+1 24.05.11]
[+1 09.08.11] Регистрация: Mar 2011
Сообщений: 101
|
вот так попробуйте отослать
Последний раз редактировалось 2Sun; 11.04.2011 в 16:18. |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 5
|
Uniq_id=undefined Plevel=undefined Auto=undefined
что и логично.. т.к. ни к какой переменной не относится.. а в АС скрипте присваивание не меняли |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 20
|
надеюсь кавычки не забыли? (Если не забыли, то убедитесь в том, что эта страница выдает правильные данные)
а почему не использовать стандарты JSON или XML? Но в любом случае, это Ваш выбор. Последний раз редактировалось ZZZubec; 11.04.2011 в 23:54. |
|
|||||
|
[+1 24.05.11]
[+1 09.08.11] Регистрация: Mar 2011
Сообщений: 101
|
Цитата:
, опечатка. Правильно вот так если вы переменные в пхп не забыли присвоить ДО отправки - то в флаш все прийдет в эти переменные, вы ведь ее объявляете уже в AS3, а из пхп передаете именно uniq_id, plevel, auto Последний раз редактировалось 2Sun; 12.04.2011 в 02:04. |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 5
|
да
ковычки помогли на самом деле их добавил и все заработало.. спасибо ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|