CATEGORII DOCUMENTE |
In Capitolul 7 (figura 7.7) s-a
prezentat se intamplǎ cand un client (A) descarcǎ o paginǎ web
(Doc1.html) aflatǎ pe un calculator (B), care contine un link cǎtre
un alt document (Doc2.html) aflat pe alt calculator (C) si clientul A
activeazǎ link-ul pentru a obtine pe ecranul sǎu documentul Doc2.html; documentele Doc1.html si
Doc2.html sunt localizate prin adresa lor URL (Uniform
Resousce Locator HTTP.
O adresǎ URL poate identifica nu numai un document (fisier) dar si un program sau un script; astfel de programe se numesc scripturi HTTP sau scripturi CGI (Common Gateway Interface
Programul (scriptul) CGI poate fi executat (figura 8.1) in locul unde se aflǎ memorat (C) si rezultatul sǎu este transmis clientului (A) care a activat link-ul din documentul Doc1.html primit de la calculatorul B.
Link-ul din Doc1.html nu are nimic special fatǎ de situatia din figura 7.7 cand puncta cǎtre un document HTML (Doc2.html) aflat in C; particularitatea situatiei este datǎ de locul unde este plasatǎ tinta link-ului, care instruieste serverul HTTP din C cǎ este vorba de un program care trebuie rulat si nu un document care trebuie trimis cǎtre A. Rezultatul rul rii pe calculatorul C se materializeaz intr-un document html care este trimis normal c tre clientul A.
Common Gateway Interface(CGI)
CGI nu este un limbaj de programare ci mai degrabǎ
este o specificatie sau interfatǎ standard care permite programatorului care lucreaza intr-un limbaj de programare (C, Pascal, Basic) sau limbaj scriptic (Perl, TCL, Jscript, Visual Basic) sa acceseze servere si baze de date din Internet iar informatia astfel obtinuta si prelucrata de programul utilizatorului sa fie transmisa pe Web unde este necesar.
CGI reprezintǎ cea mai folosita metodǎ de comunicare intre utilizatori si serverele Web ; de exemplu, folosind CGI se pot accesa resurse si baze de date non TCP/IP si rezultatul prelucrarii se afiseaza in format HTML. Multe pagini HTML care contin formate diverse de reprezentare a datelor folosesc un program CGI pentru a procesa informatia odata venita in calculatorul utilizatorului.
Majoritatea serverelor Web folosesc acelasi procedeu pentru lucrul cu CGI-uri si anume:
in directorul considerat rǎdǎcinǎ de cǎtre serverul Web, se creazǎ un subdirector numit cgi-bin
Serverul Web stie cǎ orice fisier solicitat din directorul cgi-bin trebuie mai intai executat ;
Rezultatul executiei programului este trimis browser-ului care a solicitat pagina; programul executabil este de tipul general ca produs al compilǎrii (cu un Compilator C) sau este un script PERL.
Aplicatie: Afisarea unei pagini html statice prin mecanismul CGI.
Scriptul html pentru cea mai simplǎ paginǎ care afiseazǎ arhicunoscuta expresie " Hello world ! ' aratǎ astfel :
<html>
<body>
<h1>Hello world!</h1>
</body>
</html>
Scriptul CGI scris in limbajul C, numit 'primulCGI.c', care afiseazǎ acelasi text, este :
#include <stdio.h>
int main()
Rezultatul compil rii cu comanda
gcc primulCGI.c -o primulCGI.cgi
se depune in directorul cgi-bin de unde este executat de c tre serverul web cand este accesat link-ul prin "click" pe adresa URL corespunz toare, de exemplu
https://www.mywebserv.comp-craiova.ro/cgi-bin/primulCGI.cgi
Browser-ul implicit (Internet Explorer) cu care s-a apelat adresa URL, afiseaz pe ecran mesajul "Hello world!".
In programul C prima linie trebuie sǎ fie obligatoriu
printf("Content-type: text/htmlnn");
pentru ca browser-ul care a chemat scriptul CGI sǎ accepte rezultatul executiei lui.
Exemplul a fost prezentat in scop didactic ; adevǎrata fortǎ a CGI-urilor se manifestǎ nu in afisarea paginilor statice ci in posibilitatea oferitǎ utilizatorului de a interveni activ in schimbul de informatii intre server si client ; o aplicatie tipica care foloseste CGI consta in completarea unui formular (cerere, ordin de plata, chestionar, etc.) intr-o paginǎ Web si trimiterea formularului completat prin e-mail catre o adresa din Internet. O aplicatie de acest gen se prezintǎ in Anexa D.
Pentru a lucra cu formulare, au fost necesare:
tag-uri noi, specifice, in limbajul HTML, care sǎ instruiascǎ clientul WWW sǎ afiseze un formular (completat apoi de cǎtre utilizator) si sǎ-l trimitǎ unui server HTTP precizat in formular;
modificǎri in programul server Web astfel incat sǎ fie capabil sǎ lanseze programul CGI specificat in formular, sǎ transfere programului CGI continutul campurilor completate de utilizator, sǎ prelucreze datele colectate si raportate la continutul unei baze de date si/sau cunostiinte si pe baza lor sǎ returneze utilizatorului un document de preferintǎ in format html.
Modificǎri chiar in protocolul HTTP.
In folosirea scripturilor CGI pentru lucrul cu formulare, fiecare camp din formular trebuie sǎ aibǎ un singur identificator.
Pentru transmiterea cǎtre server a caracterelor introduse de client existǎ douǎ metode: GET si POST; cu GET valorile trimise cǎtre URL pentru scriptul CGI sunt vizibile si depanarea este mai usoarǎ, dar numǎrul caracterelor este limitat. Pentru formulare mari se preferǎ metoda POST.
Datele sosite la server se prezintǎ ca un singur sir prin concatenarea continutului campurilor completate incat trebuie dezasamblate (caracterul spatiu se inlocuieste cu semnul plus); datele sosite cu:
v GET sunt preluate prin functia getenv in C sau $ENV in PERL, prin inspectarea variabilei QUERY_STRING ;
v POST sunt disponibile prin STDIN cu gets in C si read in Perl.
De retinut ca de fiecare data cand se executa un script CGI, se porneste un proces pe serverul Web si daca este vorba de un server intens solicitat, rǎspunsul lui catre vizitatori devine din ce in ce mai lent ; o solutie mai eficienta dar mai dificil de implementat este utilizarea API -urilor din server, de exemplu :
ISAPI (Internet Server API) un API pentru Web serverul IIS (Internet Information Server) produs de Microsoft ; ISAPI accelereazǎ executia aplicatiilor Web prin faptul ca sunt puternic integrate in software-ul serverului.
NSAPI (Netscape Server API) la fel ca mai sus, dar produs de firma Netscape.
O altǎ metodǎ de cooperare intre utilizatori si Web este realizatǎ prin includerea script-urilor sau programe care ruleaza pe masina utilizatorului si nu pe serverul Web ; aceste programe pot fi applet-uri Java, Java script-uri sau controale ActiveX (ActiveX controls). Toate aceste tehnologii sunt cunoscute drept client-side solutions in timp ce folosirea programelor CGI reprezinta a server-side solution deoarece procesarea se realizeaza pe serverul Web.
Active Server Pages(ASP)
ASP-ul este un alt tip de pagina Web generata dinamic si a fost dezvoltat de Microsoft; ASP-urile sunt pagini HTML care includ script-uri si creaza aplicatii Web interactive ; script-urile ruleaza pe servere si paginile HTML generate sunt returnate browser-ului. ASP-urile au extensia .asp
Cele mai folosite instrumente pentru script-uri sunt Visual Basic si Jscript (o submultime din Java Script).
Java/Java Applets
Java este cel mai folosit limbaj in mediul Web; a fost dezvoltat de Sun Microsistem ca un limbaj de programare orientat pe obiecte asemanator cu C++ o calitate deosebita a limbajului Java este ca produce cod independent de platforma hardware si software pe calculatoare pc, Macintosh, sisteme de operare UNIX, Windows.
Spectrul aplicatiilor Java este foarte larg, atat in cadrul Web cat si ca aplicatii independente.
Aplicatiile Java pentru Web se prezinta sub forma applet-urilor Java (Java applets); acestea sunt programe mici chemate dintr-o pagina HTML dar aflate pe un server Web. In momentul activarii applet-urilor Java in pagina HTML, ele sunt aduse (download) de pe serverul web si executate local de catre browser-ul compatibil Java.
Varietatea applet-ului este impresionanta, incepand cu text static sau in miscare, imagini dinamice insotite de sunet, chestionare, documente interactive, etc.
Java Script/JScript
Java Script este un limbaj de programare creat de Netscape Communications; secventele de program scrise in Java Script sunt incorporate in pagina HTML sau chemate din afara paginii pentru a mari gradul de impact audio si video. Jscript este un limbaj asemanator dezvoltat de Microsoft pentru a lucra cu browser-ul Internet Explorer.
VRLM
VRLM (Virtual Reality Modeling Language) permite construirea obiectelor care ofera iluzia optica a spatiului tridimensional; aceste obiecte pot fi accesate prin link-ul din pagina Web si sunt afisate cu un viewer (modulul de vizualizare) VRLM; Netscape Communicator are incorporat viewer-ul COSMO pentru prezentarea obiectelor de acest tip.
SGML, HTML 4.0, XML, XHTML
SGML(Standard Generalized Markup Language - limbajul standard generalizat de marcare) descrie limbajele de marcare folosite in transferul electronic, gestionarea si publicarea documentelor.
SGML a fost creat si dezvoltat la mijlocul anilor '80 si a reusit sa ramana destul de stabil datorita cadrului cuprinzator si flexibilitatii sale; complexitatea sa deosebitǎ l-a impiedicat totusi sǎ pǎtrundǎ in tehnologia W W W.
HTML (Hyptertext Markup Language) este definit in cadrul SGML, dar preia din acesta din urma doar o mica parte din continutul structural si semantic; desi versiunea evoluata HTML 4.0 include facilitati pentru hypertext si multimedia, are inca probleme in transferul documentelor intre platforme diferite.
XML (eXtensible Markup Language) este un limbaj pentru crearea paginilor Web care permite construirea si utilizarea tag-urilor personalizate pentru extinderea functionalitatii si flexibilitatii asa cum este prevazut in SGML;
desi este o forma restransa a SGML, pastreaza in mare parte bogatia si puterea de exprimare intalnita in SGML.
XHTML; in luna mai 1999, autoritatea W3 Consortium a anuntat ca HTML 4.0 a fost redefinit ca o aplicatie XML si se numeste XHTML.
XHTML este gandit sa fie extensibil si acest obiectiv se sprijina pe cerinta XML ca documentele sa fie "bine formate".
In esenta, "bine formate" inseamnǎ cǎ elementele delimitate de tag-urile lor de inceput si sfarsit, sunt incluse corect unele in altele.
in SGML, adaugarea unui nou grup de elemente conduce la modificarea intregului DTD. (DTD - Document Type Definition - este o colectie de declaratii XML care definesc structura valida, elementele si atributele permise in cadrul documentului respectiv).
Intr-un DTD sub XML, se poate introduce un nou set de elemente cu singura conditie sa fie "bine formate" (capacitate de extensie prin integrarea unor noi colectii de elemente).
O cerinta obligatorie pentru XHTML este portabilitatea in sensul cǎ dispozitive diverse ca putere de procesare si resurse software sa poata afisa documentele accesate pe Internet; daca nu sunt "bine formate" XHTML, documentele nu pot fi afisate.
1. Structura generala a unui document HTML
Intreaga dezvoltare a HTML s-a facut in ideea cresterii ulterioare a limbajului fara sacrificarea simplitatii; exista putine reguli generale de care trebuie sa se tina cont in construirea unui document HTML.
Documentele HTML 4.0 au structura generala:
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'
'https:/www.w3.org/TR/REC-html4/strict.dtd'>
<HTML>
<HEAD>
<TITLE> Titlul documentului </TITLE>
alte declaratii informatii despre document
</HEAD>
<BODY>
Textul documentului propriu-zis
<BODY>
</HTML>
Daca se foloseste un document multiplu definit cu FRAMESET, atunci elementul FRAMESET inlocuieste elementul BODY.
Un document HTML (uneori referit si ca pagina HTML) este structurat in 3 parti:
Inceputul unui document HTML, este o declaratie (<!DOCTYPE>) care specifica versiunea limbajului HTML caruia i se conformeaza acesta; restul documentului este continut in cadrul elementului de limbaj (tagului) <HTML>
O sectiune declarativa numita "head" (antet) definita de tagul <HEAD>; aceasta contine informatii (declaratii) despre document (cum ar fi titlul si cuvinte cheie asociate cu documentul).
O sectiune numita "body" (continut) definita cu tagul <BODY> sau <FRAMESET> si care inseamna de fapt (hyper)textul documentului; acesta este alcatuit din elemente de tip bloc si elemente de tip inline.
Elementul DOCTYPE
Un document valid HTML trebuie sa declare ce versiune utilizeaza pentru descrierea sa; declaratia tipului documentului (document type declaration) defineste ce DTD (Document Type Definition) se foloseste in documentul respectiv.
Elementul HTML
Sintaxa: <HTML></HTML>
Atribute posibile:
VERSION-xxx
atribute de internationalizare: LANG, DIR.
Elementul HTML contine de fapt documentul (pagina) HTML si este alcatuit din HEAD urmat de BODY (sau FRAMESET); atat tagul de inceput cat si cel de sfarsit ale elementului sunt optionale.
Elementul HEAD
Sintaxa: <HEAD></HEAD>
Atribute posibile:
PROFILE-Uri (dictionar de metainformatii)
Atribute de internationalizare: LANG, DIR.
Acest element contine informatii despre document (cum ar fi titlul sau, cuvinte cheie utilizabile de motoarele de cautare, descrierea documentului si style-sheet-uri); HEAD este solicitat in toate documentele, dar tagurile sale de inceput/sfarsit sunt optionale; daca tagul de sfarsit lipseste, primul element BODY sau FRAMESET determina sfarsitul lui.
Elementul BODY
Sintaxa: <BODY></BODY>
Atribute posibile:
BACKGROUND-uri (imaginea de fundal (background) a documentului)
BGCOLOR-Color (culoarea de fundal (background) a documentului)
TEXT-Color (culoarea textului documentului)
LINK-Color (culoarea link-urilor documentului)
VLINK-Color (culoarea link-urilor deja vizitate ale documentului)
ALINK-Color (culoarea link-urilor active ale documentului)
ONLOAD-Script (documentul a fost incarcat de browser/agentul utilizator)
ONUNLOAD-Script (documentul a fost parasit de browser/agentul utilizator)
Elementul BODY contine de fapt corpul (continutul) documentului (paginii) HTML; BODY este cerut de documentele in care nu apar frame-uri, dar tagurile de inceput/sfarsit sunt optionale in documentele care contin frame-uri. BODY trebuie obligatoriu continut in elementul NOFRAMES, daca este utilizat.
Elementul FRAMESET
Sintaxa: <FRAMESET></FRAMESET>
Atribute posibile:
ROWS-MultiLenghts (lungimea randurilor)
COLS-MultiLenghts (lungimea coloanelor)
ONLOAD-Script (toate frame-urile au fost incarcate)
ONUNLOAD-Script (toate frame-urile au fost eliminate)
Elementul FRAMESET este un container de frame-uri folosit pentru a diviza fereastra in subspatii dreptunghiulare numite frame-uri. Intr-un document care contine frame-uri, elementul FRAMESET exterior ia locul lui BODY si urmeaza imediat lui HEAD. Elementul FRAMESET contine unul sau mai multe elemente FRAMESET sau FRAME, impreuna cu elementul optional NOFRAMES pentru a oferi un continut alternativ browser-elor care nu suporta frame-uri (sau le au dezactivate). Se recomanda insa sa existe intotdeauna si sa ofere informatie utila pentru astfel de cazuri (cel putin o legatura catre frame-ul principal).
2. Formatarea textului unui document HTML
Elementul BR (terminarea randului)
Sintaxa: <BR>
Atribute posibile:
CLEAR-[left|all|right|none] (stergerea/setarea pozitiei obiectelor flotante)
Tag-ul <BR> termina randul de text acolo unde este inserat; se foloseste cand se doeste terminarea afisǎrii randului intr-un anumit loc.
Elementul P (Paragraf)
Sintaxa: <P> Paragraful continut </P>
Atribute posibile:
ALIGN-[left|center|right|justify] (aliniere orizontala)
Incepe un rand nou, lasand cateva spatii verticale (randuri) libere intre paragraful care tocmai s-a terminat si cel care tocmai incepe.
Elementul DIV (Container-ul logic de tip bloc)
Sintaxa: <DIV></DIV>
Atribute posibile:
ALIGN-[left|center|right|justify] (aliniere orizontala)
Acest element defineste un container de tip bloc (block-lavel) generic, permitand autorilor sa specifice atribute globale blocului respectiv (cum ar fi, de exemplu, stilul sau limba).
Sintaxa <CENTER> Text centrat </CENTER>
Acest element defineste un bloc al carui continut este centrat orizontal.
Elementul PRE (Textul preformatat)
Sintaxa: <PRE> text preformatat (contine tab-uri, multe spatii, etc) </PRE>
Atribute posibile
WIDTH-Numar (latimea unei linii)
Cu acest element se poate realiza afisarea textelor cu tab-uri, spatii, RETURN, asa cum sunt ele,.
Elementul FONT (Dimensiunea fontului)
Sintaxa: <FONT> Text cu font schimbat </FONT>
Atribute posibile:
SIZE-Dimensiune (dimensiunea fontului)
COLOR-Culoarea (culoarea fontului)
FACE-Felul fontului (felul fontului/font face)
Acest tag permite impreuna cu atributul SIZE modificarea dimensiunii fontului de baza.
3. Tag-uri (elemente) pentru legaturi hypertext
Elementul A
Sintaxa <A></A>
Atribute posibile:
HREF-uri (referinta hypertext)
NAME-CDATA (destinatia)
REL-LinkTypes (relatii catre legatura)
REV-LinkTypes (relatii de la legatura)
TYPE-ContentType (tipul continutului destinatiei)
TARGET-FrameTarget (frame-ul in care se aduce resursa indicata de legatura)
HREFLANG-LanguageCode (limba in care e scrisa legatura)
CHARSET-Charset (setul de caractere utilizat la scrierea legaturii)
ACCESSKEY-Character (combinatie de taste de acces / shortcut key)
TABINDEX-Number (pozitia in ordinea de parcurgere cu TAB)
SHAPE-[rect|circle|poly|defoult] (harta senzitiva / client-side image map)
COORDS-Coords (harta senzitiva / client-side image map)
ONFOCUS-Script (elementul a primit "focusul")
ONBLUR-Script (elementul a pierdut "focusul")
Pentru crearea unei legaturi este nevoie de doua elemente:
Numele documentului / resursei la care se face legatura.
Textul care va deveni activ.
Marcarea textului activ in documentul initial se face cu tag-ul nevid <A></A>. Tot textul dintre tag-ul de inceput (<A>) si cel de sfarsit (</A>) va deveni capatul legaturii afisate pe ecran si va fi prezentat de browser altfel decat textul obisnuit.
4. Inserarea imaginilor in text in documentele HTML
Elementul IMG
Sintaxa: <IMG>
Atribute posibile:
SRC-URI (locatia imaginii)
ALT-Text (text alternativ)
LONGDESC-URI (link la o descriere larga)
WIDTH-Length (latimea imaginii)
HEIGHT-Length (inaltimea imaginii)
USEMAP-URI (figura senzitiva- client-side image map)
ISMAP-URI (figura senzitiva- server-side image map)
ALIGN-top|middle|bottom|left|right (alinierea imaginii)
BORDER-Length (grosimea marginii)
HSPACE-Pixels (spatiul liber lasat pe orizontala)
VSPACE-Pixels (spatiul liber lasat pe verticala)
Atributul SRC indica URL-ul imaginii care va fi inserata in document; daca numele imaginii este 'poza.gif' si imaginea se afla in acelasi director ca si documentul HTML, atunci integrarea imaginii se face cu tag-ul <IMG SRC-'poza.gif'>, iar pentru o imagine aflata in directorul imediat superior celui in care se afla documentul, forma tag-ului este <IMG SRC-'../poza.gif'>.
5. Descrierea tabelelor
Elementul TABLE
Sintaxa: <TABLE></TABLE>
Atribute posibile:
SUMARY-Text (descrierea pe larg a continutului si structurii tabelului)
WIDTH-Length (latimea tabelului)
BORDER-Pixels (latimea marginii tabelului)
FRAME-[void|above|below|hsides|lhs|rhs|vsides|box|border] (margini externe)
RULES-[none|groups|rows|cols|all] (margini interne)
CELLSPACING-Length (spatierea intre celule)
CELLPADDNG-Length (spatierea in interiorul celulelor)
ALIGN-[left|center|right] (alinierea tabelului)
BGCOLOR-Color (culoarea de fundal (background) a tabelului)
Orice tabel incepe cu tag-ul <TABLE> si se termina cu </TABLE>, intre ele fiind continutul tabelului propriu-zis care poate contine o explicatie cu <CAPTION> si, in esenta, un numar oarecare de randuri in principal cu <TR>.
Elementul TR
Sintaxa <TR></TR>
Atribute posibile:
ALIGN-[top|bottom|left|right] (alinierea orizontala a celulelor din grup)
VALIGN-[top|middle|bottom|baseline] (alinierea verticala a celulelor din grup)
CHAR-Character (caracterul dupa care se face alinierea)
CHAROFF-Length (offsetul caracterului dupa care se face alinierea)
BGCOLOR-Color (culoarea de fundal (background) a randului)
Elementul TR defineste un rand intr-un tabel. TR contine elementele TH sau TD, care la randul lor contin datele propriu-zise din tabel.
Elementul TH
Sintaxa: <TH></TH>
Atribute posibile:
ROWSPAN-Number (randuri suprapuse/depasite de celula)
COLSPAN-Number (coloane suprapuse/depasite de celula)
HEADERS-IDREFS (lista celulelor header pentru celula curenta)
ABBR-Text (abrevierea celulei header)
SCOPE-[row|col|rowgroup|colgroup] (celule acoperite de celula header)
AXIS-CDATA (categoria celulei header)
ALIGN-[top|bottom|left|right] (alinierea orizontala a celulelor din grup)
VALIGN-[top|middle|bottom|baseline] (alinierea verticala a celulelor din grup)
CHAR-Character (caracterul dupa care se face alinierea)
CHAROFF- Length (offsetul caracterului dupa care se face alinierea)
BGCOLOR-Color (culoarea de fundal (background) a randului)
WIDTH-Pixels (latimea celulei)
HEIGHT-Pixels (inaltimea celulei)
NOWRAP (suprima continuarea pe un alt rand/word wrap)
Elementul TH defineste o celula de tip header (antet, cap de tabel).
Daca o celula este si antet si data trebuie folosit TD.
Elementul TD
Sintaxa: <TD></TD>
Atribute posibile:
ROWSPAN-Number (randuri suprapuse/depasite de celula)
COLSPAN-Number (coloane suprapuse/depasite de celula)
HEADERS-IDREFS (lista celulelor header pentru celula curenta)
ABBR-Text (abrevierea celulei header)
SCOPE-[row|col|rowgroup|colgroup] (celule acoperite de celula header)
AXIS-CDATA (categoria celulei header)
ALIGN-[top|bottom|left|right] (alinierea orizontala a celulelor din grup)
VALIGN-[top|middle|bottom|baseline] (alinierea verticala a celulelor din grup)
CHAR-Character (caracterul dupa care se face alinierea)
CHAROFF- Length (offsetul caracterului dupa care se face alinierea)
BGCOLOR-Color (culoarea de fundal (background) a randului)
WIDTH-Pixels (latimea celulei)
HEIGHT-Pixels (inaltimea celulei)
NOWRAP (suprima continuarea pe un alt rand/word wrap)
Elementul TD defineste o celula de date; elementele TD sunt continute in TR, care poate sa contina si elemente TH. Daca o celula este si antet si data trebuie folosit TD.
Tag-urile adǎugate in HTML pentru a lucra cu formulare sunt:
Elementul FORM defineste un formular de intrare
Sintaxa: <FORM>. . . </FORM>
Atribute posibile: ACTION, METHOD, ENCTYPE
Elementul INPUT defineste un camp de intrare
Sintaxa: <INPUT>
Atribute posibile: NAME, TYPE, VALUE, CHECKED, SIZE, MAXLENGTH
Elementul SELECT defineste o listǎ de selectie
Sintaxa: <SELECT> . . . </SELECT>
Atribute posibile: NAME, MULTIPLE, SIZE
Elementul OPTION defineste o listǎ de selectie (intr-un SELECT)
Sintaxa: <OPTION>
Atribute posibile: SELECTED
Elementul TEXTAREA defineste o fereastrǎ pentru text
Sintaxa: <TEXTAREA> . . . </TEXTAREA>
Atribute posibile: NAME, ROWS, COLS
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2253
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved