Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   в запросах лишняя инфа %0D (http://www.flasher.ru/forum/showthread.php?t=141435)

JekelSkaz 24.06.2010 23:19

в запросах лишняя инфа %0D
 
в передающихся в php файл переменках появляется лишняя инфа %0D пхпшник поэтому не может принять правильно данные...

output: un=Jekel%0D&up=123%0D

PHP код:

<?php
if($_POST["un"]=="Jekel" && $_POST["up"]=="123"){
echo 
"user=Jekel&milo=jekel@ukr.net&pass=123";
}else{
echo 
"user=User&milo=email@mail.com&pass=pass";
}
?>

Код AS3:

package lib{
        import flash.text.*;
        import flash.display.*;
        import flash.events.*;
        import flash.net.*;
        public class engine extends MovieClip{
                public function engine(){
                        logined.btnok.addEventListener(MouseEvent.CLICK, sendData);
                }
 
                function sendData(e:Event):void{
                        var variables:URLVariables = new URLVariables();
                        variables.un = logined.i_user.text;
                        variables.up = logined.i_pass.text;
                        //
                        trace(variables.toString());
                        var request:URLRequest = new URLRequest("server.php");
                        request.method = URLRequestMethod.POST;
                        request.data = variables;
 
                        var loader:URLLoader = new URLLoader();
                        loader.dataFormat = URLLoaderDataFormat.VARIABLES;
                        loader.load(request);
                        loader.addEventListener(Event.COMPLETE, getData);
                }
 
                function getData(e:Event):void{
                        var urlserver:URLRequest = new URLRequest("server.php");
                        urlserver.method = URLRequestMethod.POST;
                        var loader:URLLoader = new URLLoader();
                        loader.dataFormat = URLLoaderDataFormat.VARIABLES;
                        loader.addEventListener(Event.COMPLETE, displayInfo);
                        loader.load(urlserver);
                }
 
                function displayInfo(e:Event):void{
                        var vars:URLVariables = e.target.data;
                          var usrname:String = vars.user;
                        var usremail:String = vars.milo;
                        infouser.d_user.text = usrname;
                        infouser.d_email.text = usremail;
                }
        }
}

еще одно, можно ли код красивее написать, оптимизировать? чтобы не так много текста было

wvxvw 24.06.2010 23:57

Ну тут два сапога - пара, даже три :)
- в текстовых полях помещенных на сцену во Flash IDE есть символ возврата каретки (вы его можете потом удалить, но еще меньше смысла ставить эти поля на сцену вручную).
- вы можете до того как посылать данные сделать минимальную валидацию, т.как возврат каретки не единственный символ, который вряд ли есть смысл использовать в имени пользователя.
- в PHP есть куча функций для работы со строками, а кроме того, там тоже надо делать валидацию в любом случае.

vitalik14 25.06.2010 00:37

Cталкивался с такой же проблемкой, не стал изобретать колесо, перешол на xml.
Это должно помочь.
http://www.flasher.ru/forum/showthread.php?t=119053

JekelSkaz 25.06.2010 04:25

учту, большое спасибо


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

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