|
Necesita instalarea unui program auxiliar.
Cand ne vom construi situl vom dori sa permitem utilizatorilor sa ne lase
diverse mesaje. De asemenea aceasta mini-aplicatie poate fi privita si ca un
jurnal online (blog).
Unde va fi situata cartea de oaspeti ?
Un raspuns evident pentru aceasta intrebare este ca pe un server web.Serverul web este o aplicatie ce ruleaza pe un calculator care are rolul de a raspunde cererilor diverselor persoane care vor sa viziteze o anumita pagina. Astfel, in momentul in care dumneavoastra tastati in browserul pe care il folositi o anumita adresa (de exemplu http://www.actionscript.org)
nu faceti decat sa cereti unei astfel de aplicatii anumite informatii (in acest
caz prima pagina a sitului actionscript.org). Browserul dumneavoastra se
numeste client pentru ca se comporta ca unul - el cere niste informatii, iar o
anumita aplicatie care ii furnizeaza aceste informatii se numeste server.
Serverul poate rula sub diverse sisteme de operare. Deoarece Flash-ul este
distribuit doar pentru Windows si MacOS (pentru Linux exista doar
player) si deoarece majoritatea persoanelor care citesc aceasta carte (din
Romania) au instalat Windows, vom folosi un server care sa ruleze sub
acest sistem de operare. Un astfel de server web este Apache si versiunea
de windows se numeste Apache2Triad. Situl de unde puteti descarca (gratuit) acest server este: http://sourceforge.net/projects/apache2triad/.
Dupa instalarea serverului (lucru pe care nu-l explic aici deoarece consta
in apasarea repetata a unor butoane de tip "next") veti gasi in radacina
partitiei C de pe calculatorul dumneavoastra un director "apache2triad"
sau asemanator (asta in cazul in care nu ati schimbat calea in timpul
instalarii; daca acest director nu este vizibil va trebui sa permiteti
vizualizarea fisierelor ascunse). In Directorul "c:\apache2triad" cautati
directorul htdocs: aici vor fi pastrate toate documentele care vor fi servite
de catre server clientului si in acest director creati un director propriu de
exemplu "guestbook".
Deschideti browserul pe care il utilizati si tastati ca adresa urmatorul sir
de caractere:http://localhost/guestbook/, aceasta fiind calea catre
directorul creat. De fapt browserul va face o cerere serverului (care se afla
tot pe calculatorul dumneavoastra - de aici "localhost" care ii va furniza o
pagina web ce momentan nu contine nimic si furnizeaza informatii despre
directorul guestbook.
Documentele ce pot fi trimise catre dumneavoastra de catre server sunt
de cele mai variate: imagini, filme, MP3-uri, documente word, pdf.
Browserul, totusi, pentru a intelege si a formata corect informatiile pe care
vreti sa le puneti in pagina de web are nevoie de un format anume de
document si anume (x)html. Toate documentele enumerate mai sus inclusiv cele html) sunt de obicei documente statice - adica nu sunt
generate de fiecare data. Intr-un guest-book avem nevoie ca pagina
furnizate de server sa se modifice de fiecare data cand cineva introduce un
mesaj. Din acest motiv pe langa apache (serverul web) apache2triad a mai
instalat un interpretor de scripturi si anume PHP6-ul.
Vom crea un fisier de test "index.php" care va contine urmatorul script:
Fisierul va fi copiat in directorul guestbook dupa care incercati sa
accesati din nou adresa. Daca ati putut vizualiza mesajul atunci totul a
decurs corect - puteti sterge fisierul "index.php".
Daca vizitatorii vor dori sa semneze in cartea dumneavoastra de oaspeti
atunci va trebui ca mesajele ce sunt trimise de catre ei sa fie "memorate"
undeva. Flash-ul nu poate scrie pe masina clientului fisiere (de fapt nu are
voie sa modifice nici un fel de parametru de pe masina client care ar putea
periclita buna-functionare a acesteia) si chiar daca ar gasi o metoda de a
memora aceste informatii pe calculatorul local, nimeni nu va putea accesa
aceasta informatie. Din acest motiv informatiile trimise de un vizitator
trebuie sa fie pastrate pe calculatorul pe care ruleaza serverul si de fiecare
data cand cineva intra, serverul trebuie sa stie sa construiasca o pagina care
sa contina toate mesajele.
Flash-ul stie sa preia de pe server informatii in diverse formate: txt, xml,
jpg, swf, flv etc. Se pot folosi foarte bine fisiere in format txt dar pentru a
structura datele transmise intre client si server ne vom folosi de un fisier in
format XML. Pentru acest exemplu informatiile din XML vor contine
numele persoanei ce a introdus mesajul, mesajul propriu-zis, data la care a
fost introdus mesajul respectiv adresa IP a calculatorului de la care a fost
transmis mesajul (eventual o adresa de mail si una de web). Cu exceptia
ultimei informatii, datele vor fi transmise de catre Flash-ul ce ruleaza pe
masina clientului (am fi putut obtine data de pe server prin anumite comenzi PHP dar scopul nostru este de a exemplifica utilitatile Flash-ului si
nu a PHP-ului).
Pentru acest exemplu vom folosi modulul domxml care vine deja instalat
in cadrul Apache2Triad. Totusi in unele cazuri acesta nu este activat.
Pentru a verifica daca acest modul este instalat deja, studiati continutul
documentului rezultat in urma executarii comenzii phpinfo (exemplul
precedent). In cazul in care modulul domxml nu este activat, cautati fisierul
php.inf pe partitia C (cel mai probabil in directorul windowsului dar
uneori in windows\system si in interiorul acestuia decomentati linia:
copiati in continuare fisierul php_domxml.dll si iconv.dll in directorul
system32 din directorul in care este instalat windowsul (ambele fisiere le
veti gasi dand search in directorul in care a fost instalat apache-ul).
Ne vom abate putin de la Flash pentru a vedea cum construim un
documewnt XML in PHP, cum adaugam in acest document o noua
inregistrare si cum putem citi o anumita inregistrare (sau mai multe cu
aceeasi caracteristica) din acest document. Toate fisierele din acest exemplu
vor fi puse in directorul c:\apache2\htdocs\guestbook. Documentul
XML va avea un format simplu, conceput pentru a retine mesajele
introduse de un vizitator (nu trebuie sa tastati acest document, el este doar
pentru a exemlifica formatul):
<?xml version="1.0" ?>
<mesaje>
<mesaj>
<nume>Marian Tarpescu</nume>
<msg>Imi place acest guestbook</msg>
<data>09:19:47 [02.07.2006]</data>
<identificare>
<ip>193.226.24.84</ip>
<mail>mariano@yahoo.com</mail>
<web>http://www.marian.xhost.ro</web>
</identificare>
</mesaj>
<mesaj>
<nume>Amarie Alex</nume>
<msg>Deoarece nu am macromedia Flash player instalat pe calculator a trebuit sa astept putin pentru incarcarea sitului. Nu se poate elimina acest inconvenient ?</msg>
<data>16:23:51 [03.07.2006]</data>
<identificare>
<ip>191.122.43.6</ip>
<mail>aalex@hotmail.com</mail>
<web>http://www.alexx.ro</web>
</identificare>
</mesaj>
.......................
</mesaje>
Acest XML va trebui sa fie construit din datele transmise de catre Flash.
Vom omite pentru inceput modul de transmitere a datelor din flash si vom
incerca sa adaugam un nod nou obiectului XML aflat in formatul de mai
sus. Nodul nou ce va fi adaugat va fi de fapt un nou continut de tip
.... adica exact ce este transmis de catre o persoana.
Pentru a deschide orice script PHP vom pune tag-ul de inceput
dupa care vom initializa variabilele care teoretic ar trebui sa fie transmise
de catre Flash (vom vedea ulterior cum sunt transmise aceste variabile):
<?PHP
$nume = "Marian";
$msg = "Mesaj de adaugat guestbookului";
$mail = "marian@yahoo.com";
$web = "http://www.marian.ro";
$ip = getenv("REMOTE_ADDR");
$data = date("H:i:s [d.m.Y]");
|