3. Ładowanie pliku XML
Otwieramy pierwszą klatkę w nowej warstwie na filmie i wklejamy kod:
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
pole_txt.htmlText = pierwsza_wiadomosc;
wyslij_btn.enabled = false;
var sciezka_do_pliku_PHP = "ksiega.php";
var pierwsza_wiadomosc:String = "Wpisz się do księgi..";
var cache_killer:String = "?ck="+ new Date().getTime();
var plikXML:URLRequest = new URLRequest(sciezka_do_pliku_XML+cache_killer);
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, plik_wczytany);
loader.load(plikXML);
Na początku są czyszczone pola oraz są podane ścieżki dostępu oraz treść pierwszej wiadomości (opcjonalna opcja).
Kod korzysta z "cashe killer" czyli zabójcy podręcznej pamięci przechowywanej najczęściej w przeglądarce, dzięki niemu mamy pewność, że plik XML będzie zaktualizowany za każdym razem gdy się do niego odwołamy.
URLRequest oznaczna nam ścieżkę do pliku XML, URLLoader wczytuje zawartość plików.
AddEventListener przywiązuje funkcje jaka ma się rozpocząć gdy plik zostanie załadowany, dzięki operacji load.
Dodajemy jeszcze te linijki kodu:
var wiadomosci:XML = new XML();
wiadomosci.ignoreWhitespace = true;
var xmlList:XMLList;
var Imie:Array = new Array();
var Tytul:Array = new Array();
var Data:Array = new Array();
var Tekst:Array = new Array();
Co wskazuje AS3 aby stworzyć nowy obiekt XML, ignorować puste białe znaki w pliku XML, oraz tworzymy xmlList która przetrzymuje elementy XML.
Tworzymy również 4 tablice: Imie, Tytul, Data oraz Tekst które przechowywać będą informacje w księdze.
Ranga: Administrator serwisu Punktów: 0
- Zobacz kod dodany do tego wpisu
-
Error #2044: Unhandled ioError:. text=
Error #2032: Stream Error. URL: file:///<sciezka do pliku na dysku>/flash/wiadomosci.xml?ck=1243173607734
at guestbook_fla::MainTimeline/guestbook_fla::frame1()
-
- Zobacz kod dodany do tego wpisu
-
ścieżka wzgledna:
wiadomosci.xml
ścieżka bezwzgledna:
C:\katalog\wiadomosci.html
-
- Zobacz kod dodany do tego wpisu
-
Imie.reverse();
Tytul.reverse();
Data.reverse();
Tekst.reverse();
-
- Zobacz kod dodany do tego wpisu
-
var sciezka_do_pliku_XML = "http://wewa.pl/01/wiadomosci.xml";
var sciezka_do_pliku_PHP = "http://wewa.pl/01/ksiega.php";
var pierwsza_wiadomosc:String = "Wpisz się do księgi..";
//////////////NIE DO EDYCJI /////////////////
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
pole_txt.htmlText = pierwsza_wiadomosc;
var cache_killer:String = "?ck="+ new Date().getTime();
var plikXML:URLRequest = new URLRequest(sciezka_do_pliku_XML+cache_killer);
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, plik_wczytany);
addEventListener(Event.ENTER_FRAME, sprawdzaj);
wyslij_btn.enabled = false;
wyslij_btn.addEventListener(MouseEvent.MOUSE_UP, wyslij_dane);
loader.load(plikXML);
var wiadomosci:XML = new XML();
wiadomosci.ignoreWhitespace = true;
var xmlList:XMLList;
var Imie:Array = new Array();
var Tytul:Array = new Array();
var Data:Array = new Array();
var Tekst:Array = new Array();
function plik_wczytany(e:Event):void {
wiadomosci = XML(e.target.data);
xmlList = wiadomosci.children();
for (var i:int=0; i<xmlList.length(); i++) {
var xmlImie:String = xmlList[i].imie;
var xmlTytul:String = xmlList[i].tytul;
var xmlData:String = xmlList[i].data;
var xmlTekst:String = xmlList[i].tekst;
Imie.push(xmlImie);
Tytul.push(xmlTytul);
Data.push(xmlData);
Tekst.push(xmlTekst);
if (i == xmlList.length() -1) {
aktualizacja();
}
}
}
function aktualizacja():void {
Imie.reverse();
Tytul.reverse();
Data.reverse();
Tekst.reverse();
pole_txt.htmlText = "";
for (var i:int = 0; i<xmlList.length(); i++) {
pole_txt.htmlText += ("<b><u>Imię:</u></b> " + Imie[i]);
pole_txt.htmlText += ("<b><u>Tytul:</u></b> " + Tytul[i]);
pole_txt.htmlText += ("<b><u>Data:</u></b> " + Data[i]);
pole_txt.htmlText += ("<b><u>Wiadomość:</u></b> " + Tekst[i]);
pole_txt.htmlText += ("..........................................................................................");
}
scroll.scrollTarget = pole_txt;
}
function sprawdzaj(e:Event):void {
if (imie_input.text != "" && tytul_input.text != "" && tekst_input.text != "") {
wyslij_btn.enabled = true;
}
}
function wyslij_dane(e:MouseEvent):void {
var dzisiaj:Date = new Date();
var miesiac:uint = dzisiaj.getMonth();
var miesiace:Array = new Array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
var dzisiejsza_data:String = (dzisiaj.getDate()+" "+miesiace[miesiac]+" "+dzisiaj.getFullYear());
var nowa_pozycja:XML = XML("<wiadomosc><imie>" + imie_input.text + "</imie><tytul>" + tytul_input.text + "</tytul><data>"+ dzisiejsza_data + "</data><tekst>" + tekst_input.text + "</tekst></wiadomosc>");
wiadomosci.appendChild(nowa_pozycja);
var plikPHP:URLRequest = new URLRequest(sciezka_do_pliku_PHP+cache_killer);
plikPHP.data = wiadomosci;
plikPHP.contentType = "text/xml";
plikPHP.method = URLRequestMethod.POST;
var loader2:URLLoader = new URLLoader();
loader2.load(plikPHP);
loader2.addEventListener(Event.COMPLETE, plik_wczytany2);
}
function plik_wczytany2(e:Event) :void {
Imie = [];
Tytul = [];
Data = [];
Tekst = [];
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
wyslij_btn.enabled = false;
pole_txt.htmlText = "";
loader.load(plikXML);
}
-
- Zobacz kod dodany do tego wpisu
-
if (i == xmlList.length() -1) {
}
//pozostaw natomiast wpis: aktualizacja();
-
- Zobacz kod dodany do tego wpisu
-
/////////////////////////////////////////////
//////////// KONTROLER SKRYPTU /////////////
///////////////////////////////////////////
//Określ dostęp do twoich plików XML i PHP
//////////////////////////////////////////
var sciezka_do_pliku_XML = "http://localhost/phpflash/ksiega_gosci_w_xml/wiadomosci.xml";
var sciezka_do_pliku_PHP = "http://localhost/phpflash/ksiega_gosci_w_xml/ksiega.php";
var pierwsza_wiadomosc:String = "Wpisz się do księgi..";
//skrypt pobrany ze strony: http://Funkcje.net
//////////////NIE DO EDYCJI /////////////////
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
pole_txt.htmlText = pierwsza_wiadomosc;
var cache_killer:String = "?ck="+ new Date().getTime();
var plikXML:URLRequest = new URLRequest(sciezka_do_pliku_XML+cache_killer);
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, plik_wczytany);
addEventListener(Event.ENTER_FRAME, sprawdzaj);
wyslij_btn.enabled = false;
wyslij_btn.addEventListener(MouseEvent.MOUSE_UP, wyslij_dane);
loader.load(plikXML);
var loader2:URLLoader = new URLLoader();
loader2.addEventListener(Event.COMPLETE, plik_wczytany2);
var pierwsze_zaladowanie:Boolean = true;
var wiadomosci:XML = new XML();
wiadomosci.ignoreWhitespace = true;
var xmlList:XMLList;
var Imie:Array = new Array();
var Tytul:Array = new Array();
var Data:Array = new Array();
var Tekst:Array = new Array();
function plik_wczytany(e:Event):void {
var dane:URLVariables = new URLVariables(loader2.data);
if (pierwsze_zaladowanie == true || dane.zapis == "ok") {
wiadomosci = XML(e.target.data);
xmlList = wiadomosci.children();
for (var i:int=0; i<xmlList.length(); i++) {
var xmlImie:String = xmlList[i].imie;
var xmlTytul:String = xmlList[i].tytul;
var xmlData:String = xmlList[i].data;
var xmlTekst:String = xmlList[i].tekst;
Imie.push(xmlImie);
Tytul.push(xmlTytul);
Data.push(xmlData);
Tekst.push(xmlTekst);
if (i == xmlList.length() -1) {
aktualizacja();
}
}
pierwsze_zaladowanie == false;
}//koniec ifa
else{
loader.load(plikXML);
}
}
function aktualizacja():void {
Imie.reverse();
Tytul.reverse();
Data.reverse();
Tekst.reverse();
pole_txt.htmlText = "";
for (var i:int = 0; i<xmlList.length(); i++) {
pole_txt.htmlText += ("<b><u>Imię:</u></b> " + Imie[i]);
pole_txt.htmlText += ("<b><u>Tytul:</u></b> " + Tytul[i]);
pole_txt.htmlText += ("<b><u>Data:</u></b> " + Data[i]);
pole_txt.htmlText += ("<b><u>Wiadomość:</u></b> " + Tekst[i]);
pole_txt.htmlText += ("..........................................................................................");
}
scroll.scrollTarget = pole_txt;
}
function sprawdzaj(e:Event):void {
if (imie_input.text != "" && tytul_input.text != "" && tekst_input.text != "") {
wyslij_btn.enabled = true;
}
}
function wyslij_dane(e:MouseEvent):void {
var dzisiaj:Date = new Date();
var miesiac:uint = dzisiaj.getMonth();
var miesiace:Array = new Array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
var dzisiejsza_data:String = (dzisiaj.getDate()+" "+miesiace[miesiac]+" "+dzisiaj.getFullYear());
var nowa_pozycja:XML = XML("<wiadomosc><imie>" + imie_input.text + "</imie><tytul>" + tytul_input.text + "</tytul><data>"+ dzisiejsza_data + "</data><tekst>" + tekst_input.text + "</tekst></wiadomosc>");
wiadomosci.appendChild(nowa_pozycja);
var plikPHP:URLRequest = new URLRequest(sciezka_do_pliku_PHP+cache_killer);
plikPHP.data = wiadomosci;
plikPHP.contentType = "text/xml";
plikPHP.method = URLRequestMethod.POST;
loader2.load(plikPHP);
loader2.addEventListener(Event.COMPLETE, plik_wczytany2);
}
function plik_wczytany2(e:Event) :void {
Imie = [];
Tytul = [];
Data = [];
Tekst = [];
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
wyslij_btn.enabled = false;
pole_txt.htmlText = "";
loader.load(plikXML);
}
-
- Zobacz kod dodany do tego wpisu
-
>> tekst_input.text = "";
>> tekst_input.text = "";
>> var nowa_pozycja:XML = XML("<wiadomosc><imie>" + imie_input.text + "</imie><tytul>" + tytul_input.text + "</tytul><data>"+ dzisiejsza_data + "</data><tekst>" + tekst_input.text + "</tekst></wiadomosc>");
>> if (imie_input.text != "" && tytul_input.text != "" && tekst_input.text != "") {
-
- Zobacz kod dodany do tego wpisu
-
var sciezka_do_pliku_XML = "http://funkcjenet.boo.pl/funkcjenet/ksiega_gosci_w_xml/wiadomosci.xml";
var sciezka_do_pliku_PHP = "http://funkcjenet.boo.pl/funkcjenet/ksiega_gosci_w_xml/ksiega.php";
var pierwsza_wiadomosc:String = "Wpisz się do księgi..";
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
pole_txt.htmlText = pierwsza_wiadomosc;
var plikXML:URLRequest = new URLRequest(sciezka_do_pliku_XML);
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, plik_wczytany);
addEventListener(Event.ENTER_FRAME, sprawdzaj);
wyslij_btn.enabled = false;
wyslij_btn.addEventListener(MouseEvent.MOUSE_UP, wyslij_dane);
try {
loader.load(plikXML);
}catch(e:Error) {
pole_txt.htmlText = "błąd";
}
var wiadomosci:XML = new XML();
wiadomosci.ignoreWhitespace = true;
var xmlList:XMLList;
var Imie:Array = new Array();
var Tytul:Array = new Array();
var Data:Array = new Array();
var Tekst:Array = new Array();
function plik_wczytany(e:Event):void {
wiadomosci = XML(e.target.data);
xmlList = wiadomosci.children();
for (var i:int=0; i<xmlList.length(); i++) {
var xmlImie:String = xmlList[i].imie;
var xmlTytul:String = xmlList[i].tytul;
var xmlData:String = xmlList[i].data;
var xmlTekst:String = xmlList[i].tekst;
Imie.push(xmlImie);
Tytul.push(xmlTytul);
Data.push(xmlData);
Tekst.push(xmlTekst);
if (i == xmlList.length() -1) {
aktualizacja();
}
}
}
function aktualizacja():void {
Imie.reverse();
Tytul.reverse();
Data.reverse();
Tekst.reverse();
var buffor:String = "";
pole_txt.htmlText = "";
for (var i:int = 0; i<xmlList.length(); i++) {
buffor += "<b><u>Imię:</u></b> " + Imie[i];
buffor += "<br /><b><u>Tytul:</u></b> " + Tytul[i];
buffor += "<br /><b><u>Data:</u></b> " + Data[i];
buffor += "<br /><b><u>Wiadomość:</u></b> " + Tekst[i];
buffor += "<br />..........................................................................................<br />";
}
pole_txt.htmlText = buffor;
scroll.scrollTarget = pole_txt;
}
function sprawdzaj(e:Event):void {
if (imie_input.text != "" && tytul_input.text != "" && tekst_input.text != "") {
wyslij_btn.enabled = true;
}
}
function wyslij_dane(e:MouseEvent):void {
var dzisiaj:Date = new Date();
var miesiac:uint = dzisiaj.getMonth();
var miesiace:Array = new Array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
var dzisiejsza_data:String = (dzisiaj.getDate()+" "+miesiace[miesiac]+" "+dzisiaj.getFullYear());
var nowa_pozycja:XML = XML("<wiadomosc><imie>" + imie_input.text + "</imie><tytul>" + tytul_input.text + "</tytul><data>"+ dzisiejsza_data + "</data><tekst>" + tekst_input.text + "</tekst></wiadomosc>");
wiadomosci.appendChild(nowa_pozycja);
var plikPHP:URLRequest = new URLRequest(sciezka_do_pliku_PHP);
plikPHP.data = wiadomosci;
plikPHP.contentType = "text/xml";
plikPHP.method = URLRequestMethod.POST;
var loader2:URLLoader = new URLLoader();
loader2.load(plikPHP);
loader2.addEventListener(Event.COMPLETE, plik_wczytany2);
}
function plik_wczytany2(e:Event) :void {
Imie = [];
Tytul = [];
Data = [];
Tekst = [];
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
wyslij_btn.enabled = false;
pole_txt.htmlText = "";
loader.load(plikXML);
}
-
![](http://funkcje.net/admin/images/kreska.jpg)
![](http://funkcje.net/images/kreska.jpg)