|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+1.3 30.09.11]
[+ 31.08.11] Регистрация: Sep 2010
Сообщений: 95
|
Flash +xml+php (переменные:отпр/загр)
Вот такой вопрос.
на сервере лежит код PHP:
есть тестовое приложение на флеше : http://www.shlagbaum-service.ru/82/reg005.swf Смысл вопроса в том, что под Оперой все работает. А под мозилой - временами - то да то нет, А под IE вообще не работает - грузятся параметры флеша из кэш, а не с сервера, и отправлять данные в php не получается. Данные отсылаются в строковом формате и их ловить должна $xml А потом флеш считывает users.xml по новой, и все отображается. Можно ли решить вопрос на уровне html - встроить флеш в страничку и там что-нибудь прописать, или на уровне php ? Если кто-нибудь знает в чем дело, или сталкивался с подобным, помогите советом пожалуйста. Вот запрос к php : PHP: var request:URLRequest = new URLRequest("http://www.shlagbaum-service.ru/82/users.php"+"?"+rnd); где rnd - это цифры - каждый раз разные (переменная времени) вот код программы: //------- Импорт классов ----------- import flash.events.MouseEvent; import flash.display.*; import flash.net.URLRequest; import flash.events.Event; import flash.display.DisplayObject; import flash.events.*; import flash.net.navigateToURL; import flash.net.URLRequest; import flash.net.URLVariables; import flash.net.URLLoader; //---------------------------------- //*********************** var Name_:String="";///** var Passw_:String="";//** var Us_id:int=-1; //** //*********************** //////////////////////////////////////////////////////////////////////////////////////////// //--------------------- Переменные для загрузки xml и операций с ним ------------------------------------- var File_Name:String ; //строковая переменная - имя загружаемого файла var myXML:XML= new XML(); // наш объект xml var xmlList:XMLList; // сие преобразует тему в лист (листинговый формат xml ориентированый на теги) var Nomer_swf:int; // номер позиции в листинге тегов pic var Num_Stroka:int=0; // номер текущей загружаемой SWF-ки //------------------------------------------------------------------------------------------ //############################################################################################3 var rnd:int = new Date().getTime(); trace("rnd==="+rnd); //========================== ЗАГРУЖАЕМ XML ======================================================= var XML_urlLoader:URLLoader = new URLLoader(); //новый лоадер для XML var XML_urlRequest:URLRequest = new URLRequest("http://www.shlagbaum-service.ru/82/users.xml"+"?"+rnd); // имя файла (URLRequest - урл запрос) то есть запрос на такой-то файл по такому-то адресу //============================================================================================ var User_v_seti:int=0; //если совпало с xml то User_v_seti=1 Exit_mc.visible=false; var Mess_:String=""; //===========================================ВХОД============================================================ Pan_vhod.visible=false;Vhod_mc_OK.visible=false; Vhod_mc_texttt.visible=false; Name.visible=false; Passw.visible=false; Vhod_mc.addEventListener(MouseEvent.MOUSE_DOWN,Vhod_F); function Vhod_F(event:MouseEvent){ Pan_vhod.visible=true;Vhod_mc_OK.visible=true;Vhod_mc_texttt.visible=true;Name.visible=true;Passw.visible=true; } Vhod_mc_OK.addEventListener(MouseEvent.MOUSE_DOWN,Vhod_mc_OK_F); function Vhod_mc_OK_F(event:MouseEvent){ rnd = new Date().getTime();//############### Name_=Name.text; Passw_=Passw.text; Load_Private(); } function Load_Private(){rnd = new Date().getTime();//############### XML_urlLoader.load (XML_urlRequest); // загружаем XML ( объект ЛОАДЕР ) XML_urlLoader.addEventListener (Event.COMPLETE,fileLoaded);// } Exit_mc.addEventListener(MouseEvent.MOUSE_DOWN,Exit_mc_F); function Exit_mc_F(event:MouseEvent){ Registr_mc.visible=true;Vhod_mc.visible=true;Exit_mc.visible=false; Name_=""; Passw_=""; Name.text=""; Passw.text=""; Name_regg.text=""; Passw_regg.text=""; Us_id=-1; User_v_seti=0; BLOG.text="???" Mess_=""; trace("Us_id = "+Us_id); } //==================================== =================================== //===========================================РЕГИСТРАЦИЯ============================================================ Pan_reg.visible=false;Reg_mc_texttt.visible=false; Name_regg.visible=false; Passw_regg.visible=false; Town_regg.visible=false; Registr_mc_OK.visible=false; Registr_mc.addEventListener(MouseEvent.MOUSE_DOWN,Registr_F); function Registr_F(event:MouseEvent){ Pan_reg.visible=true;Reg_mc_texttt.visible=true; Name_regg.visible=true; Passw_regg.visible=true; Town_regg.visible=true; Registr_mc_OK.visible=true; } Registr_mc_OK.addEventListener(MouseEvent.MOUSE_DOWN,Registr_mc_OK_F); function Registr_mc_OK_F(event:MouseEvent){ Pan_reg.visible=false;Reg_mc_texttt.visible=false; Name_regg.visible=false; Passw_regg.visible=false; Town_regg.visible=false; Registr_mc_OK.visible=false; Registr(); Pan_vhod.visible=false;Vhod_mc_OK.visible=false; Vhod_mc_texttt.visible=false; Name.visible=false; Passw.visible=false; } function Registr(){rnd = new Date().getTime();//############### if(Name_regg.text !="" && Passw_regg.text !="" ){ Name_=Name.text; Passw_=Passw.text; sendData(); } } //==================================== =================================== var i:int; //------------------------------------------------------------------------- function fileLoaded(event:Event){ // её вызывает объект ЛОАДЕР var loader_xxx:URLLoader = event.target as URLLoader;// темповый объект загрузки myXML.ignoreWhitespace = true; // игнорируем пробелы myXML = XML(loader_xxx.data); // вообще, data - это то что прицепилось к лоадеру, то е сть xml загружена! xmlList = myXML.child("user"); // здесь мы типа говорим, что рассматриваем теги : pic rnd = new Date().getTime();//############### //trace("namee 0 "+xmlList[0].namee); //trace("nnn xmlList = "+xmlList.length()); for(i=0; i<=xmlList.length()-1; i++){ if ( xmlList[i].namee == Name_ && xmlList[i].passwordd == Passw_ ) { Us_id=i//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!; User_v_seti=1; Pan_vhod.visible=false;Vhod_mc_OK.visible=false;Vhod_mc_texttt.visible=false;Name.visible=false;Passw.visible=false;Vhod_mc.visible=false; Exit_mc.visible=true; Registr_mc.visible=false; myXML.user.mess[Us_id] BLOG.text=myXML.user.mess[Us_id]; }//else{User_v_seti=0;} } trace("Us_id = "+Us_id); //trace("User_v_seti = "+User_v_seti); } //------------------------------------------------------------------------- //=============================== загрузили XML ... ==================================================== function sendData ():void { Name_=Name_regg.text; Passw_=Passw_regg.text; // Создаем новый xml код с данными юзверя var newItem:XML = XML("<user><namee>" + Name_ + "</namee><passwordd>" + Passw_ + "</passwordd><mess>" + Mess_ + "</mess></user>"); // Добавляем новый xml код к оригинальному xml коду 'myXML' myXML.appendChild (newItem); // Создаем новый запрос для php файла rnd = new Date().getTime(); var request:URLRequest = new URLRequest("http://www.shlagbaum-service.ru/82/users.php"+"?"+rnd); request.data = myXML; request.contentType = "text/xml"; request.method = URLRequestMethod.POST; // Посылаем xml данные в php var loader:URLLoader = new URLLoader( ); loader.load ( request ); loader.addEventListener ( Event.COMPLETE, loaderDone ); trace(myXML.toXMLString()); } function loaderDone (evt:Event):void { rnd = new Date().getTime(); Name.text=""; Passw.text=""; Name_regg.text=""; Passw_regg.text=""; //Name_=""; //Passw_=""; XML_urlLoader.load (XML_urlRequest); // загружаем XML ( объект ЛОАДЕР ) XML_urlLoader.addEventListener (Event.COMPLETE,fileLoaded);// }
__________________
Чем больше вероятностей, тем меньше их сумма. |
|
|||||
Регистрация: May 2010
Сообщений: 543
|
Код не смог дочитать, у меня стали вытекать глаза.
Чтобы ответ не закэшировал fp добавляйте случайный параметр (что вы вроде бы и делаете) или используйте метод POST. Чтобы не было кэша в браузере - читстите кэш браузера. Вот.
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с) |
|
|||||
[+1.3 30.09.11]
[+ 31.08.11] Регистрация: Sep 2010
Сообщений: 95
|
Помогите пожалуйста решить проблему загрузки/отправки переменных, я уже третьи сутки бьюсь - не могу ни чего сделать, ищу тут же в форуме варианты решений - не могу найти приемлемое.
Хотя тут благодарить наверное не принято, но я за помощь хотел-бы не остаться в долгу. Могу предложить полет на параплане. Или ужин в ресторане. Спасибо огромное всем кто откликнется! Добавлено через 3 минуты Метод POST использую. но не полмогает. А как кэш чистить?
__________________
Чем больше вероятностей, тем меньше их сумма. |
|
|||||
Регистрация: May 2010
Сообщений: 543
|
var customRequest:URLRequest = new URLRequest("http://mysite.com/"); var requestParams:URLVariables = new URLVariables(); requestParams['id'] = 1; requestParams['param1'] = 2; requestParams['param3'] = 3; requestParams['rnd'] = new Date().getTime(); customRequest.data = requestParams; var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; urlLoader.addEventListener(Event.COMPLETE, _onAnswer); urlLoader.load(customRequest); ................. private function _onAnswer(e:Event){ var loader:URLLoader = URLLoader(urlLoader); var data:XML = new XML(loader.data); trace(data); } upd: Ой.. перечитал первый пост. Нам нужно отправить xml или получить? Судя по php - получить... Хотя в принципе моей писанины хватит, чтобы и отправить, немножко подредактируйте.
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с) Последний раз редактировалось carrotoff; 05.10.2011 в 13:42. |
|
|||||
[+1.3 30.09.11]
[+ 31.08.11] Регистрация: Sep 2010
Сообщений: 95
|
Спасибо, буду пробовать.
__________________
Чем больше вероятностей, тем меньше их сумма. |
Часовой пояс GMT +4, время: 13:43. |
|
« Предыдущая тема | Следующая тема » |
|
|