Skrypt pokazuje jak stworzyć własny licznik odwiedzin bazujący na XML - do przechowywania danych, oraz pliku PHP - do aktualizacji pliku XML.
Do tego przykładu potrzebujemy 3 pól tekstowych, dwóch dynamicznych o nazwach: licznik_txt , zapis_txt oraz jednego pola (opcjonalne pole) statycznego do napisu "Licznik odwiedzin". Przykład korzysta też z dwóch klatek kluczowych na liście czasowej oraz dwóch warstw: jednej dla kodu, drugiej pod pola i grafikę.
Kod dla pierwszej klatki znajduje się na listingu 1.0, dla drugiej klatki natomiast potrzeba użyć skryptu z listingu 2.0
Przykład On-line:
Kod ActionScript:
//listing 1.0 dla pierwszej klatki
/////////////////////////////////////////////
//////////// KONTROLER SKRYPTU /////////////
///////////////////////////////////////////
//Określ dostęp do twoich plików XML i PHP
//////////////////////////////////////////
var sciezka_do_pliku_XML = "ilosc.xml";
var sciezka_do_pliku_PHP = "licznik.php";
//skrypt pobrany ze strony: http://Funkcje.net
//////////////NIE DO EDYCJI /////////////////
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_wczytanyXML);
loader.load(plikXML);
var nowa_liczba:int;
function plik_wczytanyXML(e:Event):void {
var ilosc:XML = new XML(loader.data);
ilosc.ignoreWhitespace = true;
nowa_liczba = 1+int(ilosc.liczba[0]);
licznik_txt.text = String(nowa_liczba);
gotoAndStop(2);
}
stop();
//listing 2.0 dla drugiej klatki
var plikPHP:URLRequest = new URLRequest(sciezka_do_pliku_PHP+cache_killer);
plikPHP.data = "<ilosc><liczba>" + nowa_liczba + "</liczba></ilosc>";
plikPHP.contentType = "text/xml";
plikPHP.method = URLRequestMethod.POST;
var loader2:URLLoader = new URLLoader();
loader2.load(plikPHP);
loader2.addEventListener(Event.COMPLETE, plik_wczytanyPHP);
function plik_wczytanyPHP(e:Event):void {
zapis_txt.text = "OK";
}
stop();
Kod dla pliku PHP o nazwie licznik.php:
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$xml = $GLOBALS["HTTP_RAW_POST_DATA"];
$plik = fopen("ilosc.xml","wb");
fwrite($plik, $xml);
fclose($plik);
}
?>
Kod dla pliku XML o nazwie ilosc.xml:
<liczba>
0
</liczba>
</ilosc>
Listing
Ranga: Administrator serwisu Punktów: 0