Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Site web pentru cursul tehnica sunetului

html



+ Font mai mare | - Font mai mic



 



 

 

Site web pentru cursul tehnica sunetului.

 

CAP. 1. Introducere

Internet-ul se afla in plina dezvoltare, iar notiuni si facilitati precum site-uri web dinamice si interactive au devenit atributele esentiale ale oricarei afaceri online de succes implicand comert electronic (dar nu numai). Un studiu al Cyberatlas cu privire la comertul prin Internet releva faptul ca activitatile de vazari online au cel mai mare potential de dezvoltare din intregul sector economic.

O prima pagina atractiva este vitala pentru succesul unui site. Menirea ei este sa ofere utilizatorului motivele pentru a continua sa vada mai mult si eventual sa fie imediat interesat. Unele elemente-modul sunt prezente pe toate paginile site-ului, ca de exemplu header-ul (capul de pagina) in care specificam titlul, setul de caractere folosit, apoi instructiunile de conectare la baza de date si, nu in ultimul rand, nota de copyright din subsol.

Structura fiecarei pagini dintr-un astfel de site - indiferent ca este prima pagina, pagina cu date de contact sau pagina cu detalii despre carte - ar putea arata astfel:

1. Partea de conectare la baza de date

2. Header(titlu, specificatii stil, set de caractere)

3. Meniul (butoanele de navigare)

4. Continutul paginii

5. Footer-ul paginii (partea de jos continand nota de copyright, etc)

Aceasta structura se va putea folosi pentru toate paginile site-ului si, in afara de partea reprezentand continutul, care difera de la pagina la pagina, celelalte elemente-modul raman practic neschimbate. Asadar le putem refolosi scriindu-le pe fiecare din ele intr-un fisier separat si apoi incluzandu-le in pagina finala, livrata la utilizator atunci cand avem nevoie. Vom putea modifica direct din baza de date continutul oricareia dintre ele, fiecare parte putandu-se actualiza independent una de cealalta, reusindu-se astfel dintr-o singura miscare operarea modificarilor dorite in toate paginile site-ului.

Per ansamblu, proiectarea site-urilor web (crearea de pagini si administrarea acestora din punct de vedere al continutului) a inceput sa se identifice in mod aproape universal cu tehnologia PHP. Dincolo de multitudinea de biblioteci de functii si facilitati oferite, PHP si MySql sunt relativ usor de invatat chiar si pentru cei nefamiliarizati cu programarea sau bazele de date. In prezent, PHP este atat de puternic si de versatil incat pana si liderul portalurilor, Yahoo, a renuntat cu ceva timp in urma la limbajul sau proprietar, yavascript, in favoarea PHP.

CAP.2. Aplicatii multimedia

Aplicatii interactive.

Mediile traditionale au oferit publicului de-a lungul anilor putine posibilitati de comunicare interactiva. In presa scrisa, scrisorile catre redactie erau mai degraba reactive, la fel ca si telefoanele in direct din radio sau televiziune. Prin natura mediului, Internetul ofera o paleta mult mai larga de dialog intre producatorii de informatie si publicul lor.

Pentru utilizator, interactivitate inseamna implicarea activa in fluxul informational prin e-mailuri, participarea la sondaje si chestionare, jocuri sau scrierea de mesaje intr-un chat room sau intr-un forum de discutii. Pentru jurnalist, interactivitatea necesita interpretarea informatiei intr-un mod creativ pentru a face utilizatorul sa raspunda.

In functie de circulatia informatiei interactivitatea prezinta trei modele: uni-directional, bi-directional si multi-directional.

Modelul uni-directional

Acesta este modelul traditional folosit de presa scrisa si de audiovizual. Jurnalistii sunt cei care decid ce are valoare ca si informatie si i-o servesc publicului. Publicul are posibilitatea sa o urmareasca sau nu. E un model predominant uni-directional - de la jurnalist la public. Raspunsul publicului este minimal (ex: scrisori de la cititori, telefoane in direct).

Modelul bi-directional

Acest model permite feedback-ul utilizatorului. In cadrul sau, putem vorbi de 2 niveluri de interactiune:

- utilizatorul are un cuvant de spus in privinta a ceea ce consuma. El alege ce vrea sa citeasca, sa vada sau sa auda datorita comportamentului sau nonlinear de consum. Utilizatorul preia controlul asupra consumului, dar ramane un consumator al unui produs creat de jurnalist.

- utilizatorul contribuie la fluxul informational, nemarginindu-se strict la consum. Multi folosesc e-mailul care insoteste semnatura jurnalistului, pentru a-i comunica impresiile, ideile sau parerile lor. Acest tip de feedback, alaturi de sugerarea de idei pentru alte articole sunt exemple primare ale acestui nivel de interactivitate, care are potentialul de a schimba fata jurnalismului traditional. Cand are loc un eveniment poti conta, datorita Internetului, pe o serie de oameni dornici de a-si impartasi experientele, ideile sau informatiile pe care le detin. O astfel de implicare a utilizatorului poate trece usor de simplul feedback. Jurnalistul isi poate "testa" ideile de articole in forumuri sau pe liste de discutie si poate afla o multime de lucruri care sa il ajute sa redacteze un material.

Modelul tri sau multi-directional

Acest al treilea model elimina rolul jurnalistului ca filtru al informatiei. In cadrul acestui model utilizatorul nu comunica doar cu jurnalistul, ci si cu alti utilizatori, fiind el insusi de multe ori producator de informatie. Jurnalistii nu trebuie sa se simta dati la o parte ci trebuie sa profite de aceste posibilitati pentru a afla despre nevoile si interesele utilizatorului. Mediul online multi-directional este o piata care se autoregleaza - un utilizator va corecta greselile in informatie care pot aparea la alti utilizatori.

Clasificarea elementelor de interactivitate

Interactivitatea care caracterizeaza un site poate fi impartita in trei categorii:

navigationala, functionala si adaptabila la cerintele utilizatorului.

Interactivitatea navigationala se refera la indiciile date utilizatorului pentru a descifra traseul pe care trebuie sa il parcurga intr-un site spre informatia dorita, cum ar fi meniuri, butoane de navigatie etc.

Interactivitatea functionala este reprezentata de posibilitatile date utilizatorului de a reactiona la un anumit material si de a interactiona cu autorul sau alti utilizatori pe baza articolului citit.

Interactivitatea adaptabila este necesara pentru "supravietuirea" unui site in memoria utilizatorului. Site-ul trebuie sa se adapteze modului acestuia de consum si sa raspunda dorintelor sale prin adaugarea de servicii complementare (chat room-uri, jocuri etc.)

Aceasta clasificare raspunde intrebarilor pe care jurnalistii online sa si le adreseze cand se gandesc la crearea unei interfete interactive cu cititorii:

- au toti reporterii adrese de e-mail?

- exista un forum sau un loc in care utilizatorii sa-si poata exprima parerea? Dar alte elemente interactive?

- pot utilizatorii sa-si defineasca preferintele de navigatie?

- cat de usor gasesc utilizatorii ceea ce cauta pe site?

Interactivitatea navigationala

Navigatia este un sistem care functioneaza pe baza unui meniu care permite utilizatorului sa navigheze dintr-o parte in alta a site-ului stiind mereu unde se afla si cum sa se intoarca.

Unii specialisti considera ca utilizatorul trebuie sa "bantuie" pe unde pofteste intr-un site si sa nu fie dominat sau controlat de meniuri sau butoane navigationale. De exemplu, site-ul personal al lui Nielsen - un "guru" al jurnalismului on-line ( https://www.useit.com ) nu are un meniu, bazandu-se strict pe link-urile din interiorul textului si pe informatii de contact, care pot fi regasite pe fiecare pagina a site-ului.

Disputele in privinta accesibilitatii unui site sunt departe de a lua sfarsit, existand un public pentru fiecare tip de site.

Alti specialisti recomanda ca un site sa testeze modul in care utilizatorii interactioneaza cu el, raspunzand urmatoarelor intrebari:

- exista elemente confuze, butoane care nu stii unde te trimit?

- sunt meniurile greu accesibile sau greu de localizat?

- exista pe site facilitati pe care nu le inteleg sau nu doresc sa le foloseasca?

Interactivitatea navigationala poate fi studiata prin prisma:

- clasificarii utilizatorilor

- prezentarii materialelor

- accesibilitatii si lizibilitatii textului

- elementelor multimedia

- link-urilor

- arhivelor

- cautarilor in site

- altor elemente navigationale

Clasificarea utilizatorilor

In functie de modul de navigatie si capacitatea de a-si gasi drumul intr-un site, exista trei categorii de utilizatori:

- prizonierii - vor folosi site-ul indiferent de prezentare, design sau nivelul de cunostinte intr-ale Internetului. Acesti utilizatori nu au o abordare critica si vor judeca site-ul dupa ideile preconcepute despre subiect sau autor.

- exploratorii (browserii) - cel mai intalnit grup de utilizatori. Acestia cauta informatii specifice fara sa stie exact unde le pot gasi. Daca le gasesc, exista posibilitatea ca ei sa citeasca acel material in caz ca le ofera ce cautau si daca prezentarea e atractiva.

- expertii (surferii) - acestia cauta o informatie bine determinata, prezentata intr-un anume mod. Se asteapta ca site-urile sa functioneze intr-un anume fel si "le dau cu tifla" celor care nu respecta criteriile cerute de ei. Odata ce au gasit un site satisfacator se vor intoarce mai rar la el decat "exploratorul". Il vor adauga in lista siteurilor preferate si il vor vizita ocazional.

Prezentarea materialelor

Unul dintre lucrurile frustrante in vizitarea unui site este designul, uneori foarte prost, al paginilor bogate in continut. O multime de site-uri au un caracter total neintuitiv, chiar si pentru cei care au rabdare sa le intoarca pe toate fetele.

Un studiu al Institutului Poynter (www.poynterextra.org), spune ca atentia cititorilor online se "duce" spre titluri, comentarii foto si brief-uri, mai degraba decat catre grafice sau poze. Daca utilizatorul nu este captat de prezentarea materialului el va renunta sa viziteze site-ul. Un site are la dispozitie 15-20 secunde pentru a capta atentia utilizatorului.

Accesibilitatea si lizibilitatea textului

Studiile arata ca citirea de pe ecran este cu 25% mai lenta decat citirea de pe hartie. Specialistii spun ca ar trebui sa se scrie cu 50% mai putin pentru Web pentru a diminua disconfortul creat de citirea de pe ecran.   

BBC News Online foloseste o regula numita "4 par", conform careia primele patru paragrafe (fiecare dezvoltand o anumita idee) spun povestea. Articolele importante sunt limitate la 450-500 de cuvinte, restul la 250-300.

Multimedia

In redactarea unui material nu trebuie neglijata posibilitatea de convergenta a mediilor. Pentru a oferi utilizatorului o prezentare cat mai atractiva, articolului i se pot adauga poze, grafice, animatii, elemente video si audio.

Link-uri

Link-urile reprezinta unul din fundamentele Internetului, iar utilizatorii se asteapta sa le intalneasca in paginile vizitate. Un articol poate fi insotit de o serie de link-uri spre site-urile organizatiilor si institutiilor mentionate sau spre materiale conexe si informatii de context. Astfel, utilizatorul poate recrea firul documentarii urmate de jurnalist, materialul acestuia riscand sa ramana necitit. Link-urile nu submineaza totusi rolul jurnalistului, ci doar il schimba. Jurnalistul online se transforma intr-un ghid.

Arhivele

Arhivele sunt un mod foarte bun de a spori interactivitatea si de a apropia un site de utilizator. Posibilitatea de a naviga intr-o arhiva cu o interfata prietenoasa il va determina pe acesta sa revina, convins ca va gasi informatia de care va avea nevoie.

Cautari in site

O arhiva buna trebuie sa puna la dispozita utilizatorului un motor de cautare in interiorul ei. Aceste motoare trebuie sa fie usor de reperat in site si sa ofere cautari avansate. In foarte multe cazuri aceste cautari avansate sunt prost structurate, returnand o serie de rezultate de care utilizatorul nu avea nevoie.

Alte elemente navigationale

Unui material i se pot atasa elemente navigationale sub forma unor butoane, care implica utilizatorul in fluxul informational:

- o optiune pentru a printa materialul

- un buton de trimitere a articolului prin e-mail

- posibilitati oferite utilizatorilor de a se inscrie la o lista de discutii

Alte elemente interactive care pot fi adaugate pentru a capta atentia utilizatorului:

-calculatoare - unui material despre taxe i se poate anexa un calculator sau un formular care in functie de datele introduse calculeaza cat va avea utilizatorul de platit.

-sondaje - desi nu sunt stiintifice, sondajele pot implica utilizatorul in continutul materialului. Ei vor raspunde la intrebare pentru a-si demonstra pozitia in legatura cu articolul pe care tocmai l-au citit.

- teste - teste cu o singura intrebare sau intrebari cu variante multiple de raspuns sunt o alta alegere care va implica utilizatorul.

-intrebari frecvente - sau FAQ (frequently asked questions) sunt o tehnica folositoare de a furniza o serie de informatii intr-o forma simpla si interactiva.

-grafice interactive - o harta care permite selectarea unei anumite zone pentru obtinerea informatiei dorite sau o axa a timpului navigabil .

Interactivitatea functionala

Interactivitatea functionala permite utilizatorului sa trimita un feedback imediat. Cele mai importante elemente de interactivitate functional pe un site de stiri sunt posibilitatile de a contacta autorul prin e-mail sau de a comenta continutul unui material.

Contactarea autorului prin e-mail

Posibilitatile utilizatorului de a comenta un articol modifica mediul jurnalistic, care a crescut intr-o relatie "de predica", cu utilizatorul in scaunul invatacelului. Ce avem acum e o conversatie. Datorita ei trebuie sa admitem ca noi jurnalistii nu vedem totul si cu siguranta nu stim totul". O alta metoda prin care comentariile utilizatorului pot ajunge la jurnalist este un formular pe care acesta il completeaza si il trimite prin apasarea unui buton.

Comentarea continutului unui material

Utilizatorul poate comenta un articol intr-o lista de discutii conexe materialului. Pe site-ul https://www.evz.ro , utilizatorul are posibilitatea ca dupa ce a citit materialul sa vizualizeze comentariile altor utilizatori si sa il adauge pe al lui. Aceasta metoda este foarte utila pentru a determina cel mai de succes material jurnalistic de pe site.

Interactivitatea adaptabila

Considerat cel mai ridicat grad de interactivitate, pentru ca implica foarte mult utilizatorul. Interactivitatea adaptabila ofera utilizatorului un nivel mult mai mare de control creativ, permitandu-i sa adapteze spatiul informational dupa propriile dorinte. La cel mai inalt nivel de adaptabilitate, utilizatorii pot modifica ei insisi site-ul. Aici, granitele intre utilizator si jurnalist devin insesizabile. Un exemplu de site in care utilizatorii, prin introducerea de continut propriu, joaca rolul de jurnalisti este Slashdot (https://www.slashdot.org).

Forumul

Forumul este una din facilitatile cheie pe care le poate oferi un site pentru a crea interactivitate. Acesta difera de listele de discutii, pentru ca utilizatorul poate introduce ce fel de continut doreste si poate obtine el insusi feedback la acesta.

Chat room

Chat room-urile ii permit de asemenea utilizatorului sa decida ce fel de continut sau ce fel de probleme va pune in discutie, raspunsul altor utilizatori fiind instantaneu.

Customizarea

Pe alt palier functioneaza site-urile de stiri care permit utilizatorului sa aleaga ce doreste sa citeasca, sau ordinea in care doreste sa faca acest lucru. Utilizatorul isi poate crea un cont la un site de stiri si la accesare sa ii fie oferite doar informatiile din domeniile selectate de acesta, eventual intr-o anumita ordine. Studiul "Eye Tracking Online News" al institutului Poynter spune ca majoritatea utilizatorilor au renuntat la aceste posibilitati de customizare de frica sa nu piarda ceva important.

Relatia cu utilizatorul

Analizand jurnalismul online, manualele de jurnalism sunt vagi in ceea ce priveste perceptia lor asupra utilizatorilor. Intr-un unui studiu intitulat "Online News Media and their Audiences" (stirile online si publicul lor), Gary Quinn si Brian Trench spun ca mass media traditionala s-a bazat, in alegerea informatiilor transmise, pe judecata proprie si pe o imagine proprie asupra publicului. (https://www.mudia.org)

Pe Internet, in ciuda sintagmei incetatenite, "content is king" (continutul e rege), utilizatorul este cel care dicteaza. El alege ce vrea sa consume, cum si in ce cantitate. Astfel, nici o publicatie online nu are voie sa isi neglijeze publicul daca doreste sa supravietuiasca.

E foarte important ca publicatiile online sa se evalueze din punctul de vedere al utilizatorului Aceasta evaluare trece de link-uri, arhive sau posibilitati de cautare. Trebuie sa fie o recunoastere a faptului ca utilizatorul poate naviga pe unde vrea, si ca ea (publicatia) e doar o mica parte din imensul mozaic informational.

Cititor -Utilizator

Cand vorbim de jurnalismul online, termenul "cititor" isi pierde semnificatia pe care o avea in presa scrisa. La fel se intampla si cu "ascultatorul" de radio si cu "telespectatorii". O data ajuns pe Internet, statutul sau se schimba, posibilitatile sale de participare crescand semnificativ. Din aceasta cauza, publicul online este definit mai bine prin termenul de utilizator, si nu de cititor.

Jurnalismul online nu ofera un flux al informatiilor de tipul "noi catre ei". Cuvantul "cititor" este static si implica un consum pasiv, pe cand in mediul online vorbim de un consum activ si participativ. Utilizatorul este o sursa vitala de continut pentru un site. Consumatorii de informatie digitala se asteapta sa poata controla fluxul informational: cand il acceseaza, din ce unghi, cat de bine vor sa se documenteze si sub ce forma vor sa il primeasca. Acest lucru determina producatorii de informatie online sa se plieze dorintelor utilizatorilor si sa satisfaca preferintele de consum si interactiune ale acestora.

Relatia dintre utilizator si producatorul de informatie

Relatia dintre jurnalistul producator de informatie si utilizator se cristalizeaza incetul cu incetul intr-un parteneriat datorita posibilitatilor oferite ultimei categorii de a se implica in materiale. Modul traditional de transmitere a informatiei, cu jurnalistul ca posesor omniscient al acesteia si cu publicul ca ascultator "cuminte", pare sa fie inca practicat la scara larga si pe Internet. Acest lucru era de asteptat in cazul versiunilor online ale unor publicatii traditionale sau posturi din audio-vizual, care doresc sa isi pastreze acelasi statut si pe Internet, dar se regaseste si in cazul unor publicatii nascute in acest mediu.

Utilizatorul pare sa fi inteles mult mai repede, constient sau nu, care sunt nevoile si posibilitatile sale in mediul online. Jurnalistul online, desi constient de facilitatile pe care i le poate oferi utilizatorului sau este inca reticent in a ii acorda acestuia prea multa libertate.

Realitatea relatiilor care exista intre producatorul de informatie si utilizator e data de trei dimensiuni:

- procedurile practice. Cercetatorii fenomenului online sustin ca jurnalistii trebuie sa se re-inventeze atat pe sine cat si practicile lor. Ei ar trebui sa incerce pe cat posibil sa functioneze ca un ghid intr-o mare de informatii disponibile si nu ca un compilator al acestora.

- formatele de productie oferite de hipertextualitate si interactivitate dau utilizatorului posibilitati multiple de a naviga materialele. Atasarea posibilitatii de comentare a unui articol redefineste informatia ca fiind un proces deschis nu un produs finisat.

- valorile profesionale ale jurnalistilor trebuie sa se adapteze culturii mediului Internet, in care predomina schimbul de idei si comunicarea in defavoarea autoritatii jurnalistului. Acesta trebuie sa fie dispus sa accepte feedback-ul de orice fel.

Nu trebuie neglijat faptul ca utilizatorul detine puterea in mediul online. Jakob Nielsen, avocatul accesibilitatii pe Internet spune ca "cine are mouse-ul are puterea". Utilizatorul hotaraste daca merita sa dezvolte o relatie cu un site sau nu. Jurnalistii online trebuie sa ia aminte ca, daca nu se circumscriu preferintelor utilizatorului, exista mari sanse sa ii piarda.

Un site are la dispozitie 15-20 de secunde sa isi transmita mesajul. Daca site-ul este o publicatie de stiri, trebuie ca in 20 de secunde sa faca utilizatorul constient de politica sa, de modul de abordare si de posibilitatile de participare.

O alta conditie pentru a dezvolta o relatie fructuoasa cu utilizatorul este ca producatorii de informatie sa ofere personalizare. Personalizarea poate fi evidentiata atat din punctul de vedere al scriiturii cat si din punct de vedere al selectiei informatiei. Materialele trebuie sa aiba o scriitura potrivita mai degraba pentru comunicare interpersonala decat pentru mass-media.

E-learning

Internetul devine, pe zi ce trece, arbitrul accesului la educatie si cultura, iar forma cea mai potrivita de a veni in intampinarea nevoilor de cunoastere si formare continua, este eLearning.

eLearning reprezinta invatarea sau instruirea, care poate fi pregatita, distribuita sau gestionata, prin folosirea unei varietati de tehnologii de invatare si care se poate dezvolta local sau global. eLearning inglobeaza metode si tehnici traditionale sau moderne si folosind tehnologii IT&C (procesare multimedia si comunicare asincrona sau sincrona) conduce subiectul care il utilizeaza, la obtinerea unei experiente in intelegerea si stapanirea de cunostinte si indemanari intr-un domeniu al cunoasterii.

Domeniul eLearning acopera un spectru larg de aplicatii si procese, incluzand instruirea asistata de calculator, clasa virtuala (mediu de invatare online), instruirea prin Web sau colaborarea digitala. Continuturile in domeniul eLearning pot fi aduse prin diferite moduri, cum ar fi Internet, Intranet, Extranet, satelit, Web TV, asistenti digitali portabili, eCarti, eCreion, CD-ROM, DVD sau alte platforme de distributie.

Intr-o lume ideala, toate organizatiile din industria eLearning accepta un set de standarde pentru creearea si administrarea continutului invatarii. Acest lucru va determina scaderea costurilor de creeare a continuturilor, va reduce preturile materialelor eLearning si va sprijini dezvoltarea acestei industrii.

Pentru continutul invatarii, nu doar standardele tehnice, cum ar fi formatele grafice sunt necesare, dar si alte formate (pentru impachetare, secventiere sau management al software-ului), astfel incat acesta sa poata fi transferat intre platforme si medii de programare. Aceste standarde sunt necesare pentru a descrie materiale educationale, astfel incat acestea sa fie usor de cautat si localizat.

In mod normal, pana acum toate cursurile create cu diferite programe specializate, stocau continutul cursului in diferite formate, cum ar fi: fisiere text, baze de date, fisiere html, etc. Aceste formate au diferite dezavantaje, cum ar fi:

1) Fisierele text, cu toate ca sunt independente de platforma, nu permit formatari.
2) Bazele de date permit o stocare organizata si clasificata a datelor, dar in schimb, depind de platforma, pe care ruleaza, de formatul bazei de date si de metodele de acces la date.
3) Fisierele HTML permit o buna formatare a modului de vizualizare si inserarea de obiecte multimedia in curs, dar datele nu sunt structurate, iar orice modificare a continutului, impune si modificarea interfetei si invers, adica orice modificare a interfetei atrage dupa sine o modificare a continutului.

2.3 Aplicatii interactive cu chestionare.

2.3.1 Autentificare PHP

Autentificarea HTTP din PHP este posibila doar cand este lansata cu Apache si nu este disponibila in versiunea CGI. In scriptul PHP din Apache, se poate folosi functia header( ) pentru a trimite autentificarea necesara. Aceasta functie se foloseste pentru trimiterea unui mesaj utilizatorului pentru autentificare prin introducerea parolei. Dupa ce utilizatorul a introdus si numele si parola, URL care contine scriptul PHP se va rula din nou cu variabilele $PHP_AUTH_USER, $PHP_AUTH_PW si $PHP_AUTH_TYPE setate de catre utilizator. Numai autentificarea primara este sustinuta in acest punct. Un exemplu de script care va forta autentificarea utilizatorului va fi urmatoarea:

Listing 1.Exemplu de autentificare HTTP

<?php
if (!isset($PHP_AUTH_USER)) else ?>

Obs! Aveti grija cand codati primele randuri ale HTTP. Pentru a avea compatibilitate maxima cu toti utilizatorii, cuvantul cheie ar trebui sa fie scris cu "B" si toate variabilele string trebuie puse intre ghilimele duble si sa fie exact un singur spatiu care va preceda codul 401 din "HTTP/ 1.0.401" din prima linie.

In loc sa tiparim pur si simplu $PHP_AUTH_USER si $PHP_AUTH_PW trebuie sa verificam numele utilizatorului si parola pentru validare.
Atentie la motoarele de cautare de pe internet. Prin trimiterea liniei de autentificare www inainte de HTTP 1.0 401se poate rezolva problema pentru moment.
Pentru a impiedica o persoana sa scrie scriptul pentru vizualizarea parolei a unei pagini, ce a fost autentificata prin metode traditonale externe, variabila $PHP_AUTH nu va fi setata daca nu este permisa autentificarea din exterior. In acest caz variabila $REMOTE_USER poate fi folosita pentru a identifica utilizatorul extern.
Atat Netscape Navigator cat si Internet Explorer sterge fereastra de autentificare pentru a primi raspunsul de la serverul 401. Astfel poate fi deconectat utilizatorul si sa fie fortat sa reintroduca numele si parola.

Listing 2. HTTP Exemplu de autentificare HTTP prin parola si nume

<?php
function authenticate()
if (!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)))
else ?>

Acest comportament nu este cerut de autentificarea standard HTTP, deci nu trebuie sa depindem de aceasta.

2.3.2 Implementarea controlului de acces

Simplul control al accesului nu este dificil de implementat. Codul aratat in figura de mai jos prezinta una din cele trei posibilitati de afisare. Daca fisierul este incarcat fara parametrii va aparea o pagina HTML care va cere un nume si o parola. Acest tip de pagina HTML este aratat in figura 1.

Figura 1 in formularul nostru HTML cere ca utilizatorii sa intoduca numele de utilizator si parola de accesare

Daca parametrii sunt trecuti dar nu corect se va afisa un mesaj de eroare. Acest mesaj de eroare este aratat in figura 2

Figura 2 Cand utilizatorii introduc detalii incorecte este necesar sa le trimitem un mesaj de eroare.

Daca paramterii sunt introdusi corect, va fi aratat continutul secret, ca si in figura 3

Figura 3 Cand sunt furnizate delaliile corecte scriptul nostru va expune continutul

Codul pentru functionarea autentificarii din figurile 1, 2, 3 este aratat mai jos

Listing 3. Mecanismul unei autentificare PHP si HTML simple

<?

if(!isset($name)&&!isset($password))

else if($name=="user"&&$password=="pass")

else

?>

Codul ne da un mecanim simplu de autentificare prin care permite utilizatorilor autorizati sa vizualizeze pagina, dar are si probleme semnificative.

Acest script

are un singur utilizator si o singura parola introdusa in script

da parola ca un simplu text

protejeaza o singura pagina

tansmite parola ca simplu text

2.3.3 Stocarea parolelor

Sunt multe locuri mai bune pentru a stoca numele si parolele decat in interiorul

scriptului, este dificil de modificat datele. Este posibil de scris dar nu este o idee buna de scris un script ca sa se modifice insusi. Ar insemna sa avem un script pe serverul nostru, care poate fi executat pe server, dar este scris si modificat de altii. Stocarea datelor in alt fisier pe server va usura scrierea programului, adaugarea si stergera utilizatoriilor si schimbarea parolelor.

In interiorul scriptului sau in alt fisier de date este limitat numarul de utilizatori pe care-i poti avea fara a afecta serios viteza scriptului. Daca vrei sa stochezi si sa cauti intr-o lista mai mare de 100 de articole ar trebui folosita o baza de date, decat un fisier uniform.

Folosind o baza de date pentru a stoca numele si parolele nu va permite sa identificam diferiti utilizatori mai repede, de asemenea ne va permite scrierea mai usuoara a scriptului, sa adaugam noi utilizatori, sa stergem utilizatori si va permite schimbarea parolelor de catre utilizatori.

Un script pentru acordarea accesului pentru o pagina ce contine baze de date este prezentat in urmatoarea secventa

Listing 4. Am folosit MySQL sa imbunatatim o autentificare simpla

<?

if(!isset($name)&&!isset($password))

else

// select the appropriate database

$mysql = mysql_select_db( 'auth' );

if(!$mysql)

// select the appropriate database

$mysql = mysql_select_db( 'auth' );

if(!$mysql)

// query the database to see if there is a record which matches

$query = "select count(*) from auth where

name = '$name' and

pass = '$password'";

$result = mysql_query( $query );

if(!$result)

$count = mysql_result( $result, 0, 0 );

if ( $count > 0 )

else

}?>

Baza de date pe care o folosim poate fi creata prin conectarea la MySQL root user si rulare continutului secventei de program.3

Secventa de program 3 createauthdb.sql-These MySQL Queries Create the auth

Database, the auth Table, and Two Sample Users

create database auth;

use auth;

create table auth (

name varchar(10) not null,

pass varchar(30) not null,

primary key (name));

insert into auth values

('user', 'pass');

insert into auth values

( 'testuser', password('test123') );

grant select, insert, update, delete

on auth.*

to webauth@localhost

identified by 'webauth';

2.3.4 Protectia mai multor pagini

Realizarea unui script care sa protejeze mai mult decat o pagina este dificil. Deoarece HTTP rigid nu este specific, nu este o legatura automata sau asocierea intre ulterioarele cereri de la aceasi persoana. Astfel este mai greu sa avem o data de autentificare pe care o introduce utilizatorul si care sa fie retinuta de la pagina la pagina.

Cel mai usor mod de a proteja mai multe pagini este sa folosim mecanismul de control al accesului care este oferit de serverul web.

Pentru a crea aceasta functionalitate am putea include parti din partea de program 1. folosind fisiere de autoadaugare si fisiere de modifica putem in mod automat sa adaugam si sa modificam codul necesar fiecarui fisier, in mod special al directoarelor.

Daca folosim aceasta cale, ce se intampla daca vizitatorii navigheaza prin mai multe pagini ale site-ului nostru? Nu este acceptabil sa le cerem reintroducerea numelui si parolei pentru fiecare pagina pe care doresc sa o vizualizeze.

Putem adauga detaliile pe care ei le-au introdus pentru fiecare hyperlink de pe pagina. Ca utilizator poate avea spatii sau alte caractere care nu sunt premise de URLs, atunci ar trebui sa folosim functia urlencode( ) pentru a coda in mod sigur caracterele.

Au mai ramas cateva probleme daca urmam aceasta cale, deoarece datele ar fi incluse in paginile web trimise utilizatorului si URL vizitat, paginile protejate vizitate vor fi vizibile tuturor celor care folosesc acelasi computer si vor putea privi lista tuturor care l-au vizitat, pentru ca trimitem parola inapoi si inainte browser-ului cu fiecare pagina ceruta sau data, aceasta informatie sensibila este transmisa mai des decat este necesar.

Sunt doua cai posibile pentru finalizarea problemei:HTTP autentificarea primara si sesiuni. Autentificarea primara intervine pentru a rezolva problema, dar browser-ul poate trimite parola cautatorului cu toate cerintele. Cu sesiunile se rezolva ambele probleme.

Autentificarea de baza

Din fericire utilizatorii au sarcina comuna, exista facilitati de autentificare in HTTP. Scriptul sau serverele web pot sa ceara autentificarea de la un web browser. Web browse-rul este atunci responsabil pentru expunerea unei casute de dialog sau unui plan similar pentru a obtine informatia ceruta de la utilizator. Chiar daca serverul web cere noi detalii de autentificare pentru fiecare cerere ale utilizatorului, web browser-ul nu necesita a cere detaliile utilizatorului pentru fiecare pagina.

Browser-ul stocheaza aceste detalii atat timp cat utilizatorul are o pagina de cautare deschisa si automat le retrimite la serverul web ca cerute fara cererea utilizatorului.

Aceasta trasatura a HTTP-ului este numita autentificarea de baza. E posibil sa pornesti o autentificare de baza folosind PHP-ul sau folosind mecanisme construite in serverul web.

Autentificarea de baza transmite parola si numele utilizatorului, astfel nu este prea sigura .HTTP 1.1 contine o metoda de securitate mai mare, cunoscuta ca autentificarea rezumata, care foloseste un algorimt reciclabil ( de obicei ) MD5 pentru a ascunde detaliile tranzactiei. Autentificarea rezumata este sustinuta de multe servere web, dar nu si de web browser. Autentificarea rezumata a fost sustinuta de Micrsoft Internet Explorer de la versiunea 5.0. In momentul scrieri nu era suportata de nici o versiune a Netscape Navigator-ului, dar se poate sa fie inclusa in versiunea 6.0.

In plus prin faptul de a fi sustinut putin de browserii web instalati, autentificarea instalata este inca foarte nesigura. Atat autentificarea de baza cat si cea rezumata contin un nivel redus de securitate, nici una dintre ele nu da utilizatorului vreo asigurare ca are de a face cu o masina pe care intentioneaza sa o acceseze. Amandoua pot permite unui cracker sa puna aceiasi intrebare serverului. Deoarece autentificarea de baza trasmite parola utilizatorului ca text clar, permite fiecarui cracker, capabil de a captura pachete, sa personalizeze utilizatorul pentru orice cerinta.

Autentificarea de baza contine un nivel scazut de securitate similar celor folosite, comun pentru a conecta masinile via Telnet sau FTP, care transmit in text clar. Autentificarea rezumata este putin mai sigura, decodeaza parolele inainte de a le transmite. Folosind SSL si certificate digitale toate partile unei tranzactii web pot fi protejate de o securitate puternica.

Autentificarea de baza protejeaza un domeniu anumit si cere utilizatorului sa obtina un nume de utilizator si de parole valide. Domenile sunt numite, astfel ca mai mult de un domeniu sa fie pe acelasi server. Diferite fisiere sau directoare pe acelasi server pot face parte din domenii diferite, fiecare protejat de un set de nume si parole diferite. Domeniile numite de asemenea ne permit sa grupam directoare multiple pe o gazda sau pe o gazda virtuala ca un domeniu sau sa le protejeze pe toate cu o singura parola.

2.3.6 Folosirea autentificarii de baza in PHP

Scriptele PHP sunt in general o platforma in cruce, dar folosind autentificarea de baza se foloseste un set de variabile de mediu ale serverului. Astfel ca un script de autentificarea HTTP sa mearga pe Apache folosind php ca un modul Apache sau pe IIS folosind PHP-ul ca un modul ISAPI, trebuie sa se detecteze tipul de server si sa se comporte putin diferit.

Listing 5 Va rula ambele servere

<?

// if we are using IIS, we need to set $PHP_AUTH_USER and $PHP_AUTH_PW

if (substr($SERVER_SOFTWARE, 0, 9) == "Microsoft" &&

!isset($PHP_AUTH_USER) &&

!isset($PHP_AUTH_PW) &&

substr($HTTP_AUTHORIZATION, 0, 6) == "Basic "

// Replace this if statement with a database query or similar

if ($PHP_AUTH_USER != "user" || $PHP_AUTH_PW != "pass")

else

?>

Codul in partea de program actioneaza foarte similar programelor anterioare din acest capitol. Daca utilizatorul nu a furnizat informatia de autentificare, aceasta va fi ceruta. Daca a furnizat informatia incorecta, utilizatorul va primi un mesaj de respingere. Daca furnizeaza o pereche nume-parola care sa se potriveasca ea este prezentata cu continuturile paginii.

Utilizatorul va vedea o interfata diferita de programele anterioare. Noi nu furnizam un formular HTML pentru informatia de logare. Browser-ul utilizat va prezenta o casuta de dialog de logare pe care Internet Explorer o va arata in figura 4

Figura 4. Browser-ul utilizat este responsabil pentru aparitia casutei de dialog cand se face autentificarea HTTP.

Deoarece autentificarea este asistata de trasaturile construite in browser, browserii isi aleg sa exercite cu prudenta felul cum incercarile esuate de autorizare sunt rezolvate. Internet Explorer lasa pe utilizator sa se autentifice de trei ori inainte sa expuna pagina de refuz daca utilizatorul apasa cancel.

2.3.7 Chestionarele de autoevaluare

Acest serviciu ofera instrumente de evaluare si/sau autoevaluare a atitudinilor, cunostintelor si abilitatilor, cu referire la trasee specifice de educatie/ formare, domenii si profile ocupationale, abilitati de orientare vocationala si expertiza profesionala. Utilizarea unor astfel de instrumente poate presupune o interactiune intre client si consilier (de ex., clientul completeaza un chestionar, consilierul de orientare il evalueaza si clientul primeste feedback); interactiunea nu este necesara in cazul instrumentelor create special in scopul autoevaluarii.

Prin intermediul web pot, de asemenea, fi oferite si formulare si chestionare de autoevaluare online. In cazul acestora insa, este foarte important ca ele sa fie insotite de explicatii clare cu privire la scopul lor, modul de folosire, interpretare. Afisarea rezultatelor trebuie sa fie automata. Prin web se pot furniza si unele servicii individualizate, cu ajutorul unor intrumente specifice.

CAP.3 Aplicatie interactiva. Curs tehnica sunetului.

Pentru realizarea intereactivitatii in paginiile web putem folosii:

- Javascript. Javascript este un limbaj de scripting orientat pe obiecte, folosit des in paginile web, avand o sintaxa derivata din C. Prin functiile sale pot oferi interactivitate si un plus de viata paginii.

Programul, dezvoltat initial de Brendan Eich de la Netscape Communications , a fost standardizat in perioada 1997-1999 de ECMA sub numele de ECMAScript.

Numele limbajului. Numit initial Mocha, apoi Livescript si in cele din urma Javascript, limbajul si-a capatat numele final cam in aceasi perioada in care Netscape Communications lansa browserul Netscape Navigator. Alegerea numelui se pare ca nu a fost de bun augur - a creat si inca mai creaza confuzie intre acest limbaj de scripting si cel dezvoltat de Sun Microsystems - Java, cu toate ca intre cele 2 nu exista nici o legatura in afara de sintaxa asemanatoare cu cea de C.

Folosirea acestui limbaj pe paginile web

Principalul avantaj al folosirii javascript pe paginile de web este interactiunea intre functiile acestuia si browser, ce creaza posibilitatea de interactiune ce nu ar fi existat in cazul documentelor HTML clasice.

- PHP, acronim care provine din 'PHP: Hypertext Preprocessor', este un limbaj de scripting utilizat pe scara larga, realizat si distribuit in sistem Open Source, care este special realizat pentru a dezvolta aplicatii web, prin integrarea codului PHP in documente HTML.

PHP a parcurs o cale lunga intre PHP/FI creat in 1995 de Rasmus Lerdorf (un set de scripturi PERL ce il ajuta pe acesta sa observe accesarile CV-ului sau on line) si PHP versiunea 5 lansata anul acesta, un limbaj de scripting matur folosit de mii de programatori web, prezent pe aproximativ 20% din site-urile web.

- MySQL Baza de date MySQL este cea mai populara baza de date open-source, lucru demonstrat de instalarea acestui software de aproximativ 5.000.000 de clienti, incluzand giganti precum The Associated Press, Google, NASA, Sabre Holdings sau Suzuki.

Principalele atuuri MySQL sunt viteza, scalabilitatea si puterea, toate acestea gratis, o alternativa extraordinara la bazele de date scumpe precum Oracle sau Microsoft SQL Server

-Macromedia Flash este tehnologia ce ofera posibilitatea publicarii de continut multimedia precum text, imagini, audio si video in prezentari bogate si expresive. Aceste prezentari isi ating scopurile prin interactivitate ai usurinta in folosire.
Fie ca este vorba de interfete web, modulrile de e-learning, marketing interactiv sau prezentari multimedia Flash poate impresiona si convinge. Aproximativ 1.000.000 de profesionisti folosesc acest mod de a prezenta informatia. De asemenea, un procent de 97% din utilizatorii de internet au acces la aceasta soft prin instalarea Flash.

Dar ce este de fapt Macromedia Flash?

Macromedia Flash, sau Flash - cum este numit in mod uzual este un program de animatie, produs si vandut de Macromedia. Programul foloseste in special grafica vectoriala (zone de culoare, forme etc.) pentru o compresie mai mare dar si grafica raster(imagini).
In ultima vreme acest program de animatie la baza s-a extins la stadiul de platforma de dezvoltare pentru aplicatii, odata cu aparitia versiunii MX. Astfel, pe lang obisnuitele animatii flash acum se pot dezvolta aplicatii si jocuri complexe pentru PC si dispozitive mobile folosind utilitatea oferita de limbajul de programare Actionscript 2.0.

- Punctele forte

Pe langa puternica impresie ce o lasa animatiile create in Flash exista si alte avantaje demne de luat in seama pentru acest produs, cum ar fi:
-Fisierele flash sunt independente de platforma(Windows, Linux, etc.)
-Ofera libertate in creatie pentru munca de design
-Folosirea de grafica vectoriala micsoreaza marimea fisierelor(facand astfel publicarea pe internet)

-Corel draw. Cel mai bine vandut program de grafica vectoriala, acesta ofera libertate in creatie si uneltele necesare realizarii de proiecte grafice de exceptie.
De la simple grafice si forme pana la brosuri si proiecte complexe precum designul materialelor de identitate sau logo-uri complexe, Corel Draw este unealta preferata de majoritatea creatorilor de grafica vectoriala.

Corel Draw a inceput ca un simplu add-on in 1985 pentru o suita de DTP(desktop publishing) iar datorita raspunsului pozitiv al pietei a devenit principala linie de activitate a firmei Corel. Este apreciat si folosit de mii de artisti digitali din intreaga lume pentru modul placut de lucru si pentru interfata prietenoasa.

Adobe Photoshop

Adobe Photoshop este un program de editare a graficii raster(de tipul .bmp, .jpg etc), leader in domeniul manipularii imaginilor.

In general Adobe Photoshop este considerat unul dintre cele mai bune (daca nu cel mai bun) program de editare al graficii raster datorita multiplelor posibilitati de modificare si manipulare a imaginilor, precum si datorita stabilitatii relativ ridicate.

Detalii despre program

Dezvoltarea programului a inceput in anul 1987, ca o aplicatie creata de fratii Thomas Knoll si John Knoll, si a fost lansat in 1990 de catre Adobe ca un software a carui menire era manipulare imaginilor digitizate de catre scanner, un aparat destul de scump la acea vreme. Photoshop a fost deci imaginat ca un instrument scump, dedicat specialistilor.
Odata cu trecerea timpului popularitatea Photoshop a crescut si in randul celor care nu il folosesc pentru prelucrarea imaginilor pentru print, in special datorita editarii pentru web.

3.1 Dreamweawear MX

MACROMEDIA este o companie cu peste 1000 de angajati si care isi are sediul central in San Francisco , USA.

De cand Web-ul a devenit o componenta esentiala in comunicatii, divertisment, afaceri si comert, s-a facut simtita nevoia pentru o suita de unelte specifice pentru designul si dezvoltarea acestuia. MACROMEDIA este una dintre firmele cele mai importante care furnizeaza aceste unelte.

MACROMEDIA isi propune sa usureze munca celor care realizeaza pagini Web, si sa le permita acestora sa ofere experiente deosebite utilizatorilor. Firma reuseste sa-si atinga scopul prin oferirea de solutii si produse software care permit realizarea unei noi generatii de sit-uri Web personalizate . Deasemenea ele permit companiilor sa gestioneze in cel mai eficient mod complexele aplicatii Web, si, ceea ce este mai important, sa genereze transformarea investitiei in venituri.

Dintre principalii utilizatori ai produselor software ale firmei Macromedia putem enumera: Ford Motor Company, iXL, MTV, Nortel Networks, UPS, marchFIRST, MSNBC si Xerox.

De la produsele Stand-alone pentru crearea de grafica, la solutii integrate pentru Web, Macromedia dispune de tehnologia si serviciile optime care permit dezvoltatorilor si companiilor sa realizeze sit-uri Web de succes.

Modul deosebit in care Macromedia intelege abordarea gestionarii continutului Web este acum esentiala, cu atat mai mult cu cat "e-business"-ul a devenit o componenta importanta pentru orice organizatie de succes. Mentinerea competivitatii pe piata se poate obtine integrand realizarea efectiva a continutului Web cu analiza in timp real si cu personalizarea acestuia.

Macromedia Dreamweawer MX 2004

Macromedia Dreamweaver e un program cu ajutorul caruia web designerii profesionisti 'asambleaza' (adica monteaza) elementele unui site, pornind de la texte, imagini, animatii si terminand cu paginile site-ului.

Fig. Interfata Dreamveaver

Dreamweaver este un editor HTML de tip WYSIWYG ('what you see is what you get'), adica poti construi site-ul direct pe interfata de previzualizare, fara a fi nevoit sa scrii cod html. Dreamweaver MX 2004 este cel mai cunoscut editor de tip WYSIWYG de pe piata, fiind cel mai robust, usor de folosit si stabil dintre toate De fapt, adevaratul avantaj al folosirii acestor programe este acela ca ele includ numeroase bucati de cod 'ready-made' si instrumente utile, cu ajutorul carora proiecte voluminoase pot fi finalizate extrem de rapid.

Pe langa editoarele de tip WYSIWYG mai exista pe piata si editoarele HTML simple, in care web designerul construieste site-ul pe baza cunoasterii codului (X)HTML. Designerul introduce codul necesar afisarii paginii dorite, apoi compileaza pagina si o afiseaza in browser. Practic, cu ajutorul unui editor HTML simplu orice web designer poate obtine exact aceleasi rezultate pe care le-ar obtine si cu ajutorul lui Dreamweaver. Singura diferenta consta in productivitatea imbunatatita adusa de Dreamweaver.

Macromedia Dreamweaver MX 2004 este folosit in dezvoltarea de aplicatii si pagini web profesionale Macromedia Dreamweaver MX 2004 pune la dispozitie o puternica combinatie de modele stadard de dezvoltare, optiuni deosebite si unelte de inalt nivel, suport de editare de cod, permitand astfel dezvoltatorilor si designerilor sa creeze aplicatii de orice tip, pagini web standard si aplicatii performante.

Pornind de la optiuni de implementare de CSS pana la editarea de cod scris de mana, Dreamweaver pune la dispozitie uneltele de care este nevoie pentru un mediu de dezvoltare profesionist. Dezvoltatorii pot folosi Dreamweaver alaturi de tehnologia server pe care o doresc pentru realizarea aplicatiilor Internet ce permit conectarea utilizatorilor la baza de date, servicii Web si sisteme de securitate.

Standard in privinta uneltelor de design

Dreamweaver MX 2004 pune la dispozitie standarde deosebite de control si putere pentru un design de inalta calitate. Un mediu de design construit in jurul CSS (Cascading Style Sheets) permite o dezvoltare pe baza de cod mult mai rapida si mai eficienta.

Folositi un editor de inalta clasa de design si cod intr-o singura aplicatie. Va puteti plasa direct in partea de cod sursa si acolo sa modificati obiectele sau elementele definite dupa propria dorinta. Printr-o interfata reglabila dupa nevoile utilizatorilor puteti lucra in modul de dezvoltare dorit: cod sau design.

Editoarele de obiecte grafice integrate

Redimensionati, editati obiecte in oglinda fara a fi nevoiti sa parasiti fereastra Dreamweaver folosind tehnologie integrata Macromedia Fireworks. Creati o interfata de inalt nivel fara a fi nevoiti sa realizati verificare constanta a modului de browser printr-un element de vizualizare de tip Live Data. Astfel dezvoltatorii pot vedea partea de compilare si transfer pe server, ei fiind insa in modul de design.

Integrare puternica si deschisa

Dreamweaver MX 2004 este un produs software deschis si expansibil catre produsele si tehnologiile pe care le folositi, permitand un grad mai mare de libertate si flexibilitatea de a putea alege tehnologia ce lucreaza cel mai bine in mediul dumneavoastra de dezvoltare. Si pe care cu siguranta o veti folosi si pe viitor.

Pentru dezvoltarea concomitenta de HTML, XHTML, XML, ASP, Microsoft ASP.NET, JSP, PHP si pagini web ColdFusion acum folositi un singur mediu de dezvoltare, Dreamweaver-ul

Modalitate de conexiune sigura FTP

Pentru a putea coda integral si transfera fisierele in mod sigur pentru a impiedica accesul neautorizat la informatie, continut de fisiere, avem nevoie de o protectie a traficului de date. Aceasta se poate realiza prin nume de utilizator si parola ce impreuna asigura modul de acces.

Integrarea fisierelor externe si cod

Copierea si selectarea de format editat se face direct in Microsoft word sau Excel si scrierea acestora cu Dreamweaver. Aceasta mutare se face prin pastrarea fonturilor, a culorilor si a stilului CSS. Asigura suport Unicod complet pentru a fi folosit, rulat si salvat in diferite moduri de criptare. Acestea sunt specifice fiecarui system de operare. In plus apare criptarea de bit dublu.

Integrare perfecta cu Macromedia Flash, Fireworks si alte unelte de design si de dezvoltare din colectia de produse Macromedia Studio MX 2004.

Parte de cod

Prin elemente incorporate ce scutesc dezvoltatorii de timp pierdut aiurea, dezvoltarea de pagini web devine o reala placere. Astfel putem apela la unelte destinate speciale editarii de cod, gasire si inlocuire sau apelare de functii prin chei de scurtatura; proprietati de editare rapide si usor de folosit.

Interfata de start destinata conceptelor de design si productie

Folosind elemente profesionale de imbunatatire a calitatii, se pot predefini moduri standard de incadrare in pagina si de definire de cod, incluzand aici si anumite structuri din pagina web, formulare, moduri standard predefinite, functii JavaScript pentru interactivitate pagina web-client. Suport deosebit oferit prin Macromedia Contribute.

3.2 HTML

  Limbajul HTML (sau XHTML, cum i se spune la ora actuala ultimei sale variante) se remarca prin simplitate. Este un limbaj pe baza de marcaje (sau tag-uri), fiecare marcaj putand suporta mai multe atribute. De exemplu, pentru a scrie ingrosat sau italic textul din interiorul unui anumit paragraf, trebuie sa folosim marcajele <p></p> - pentru a delimita paragraful, respectiv <b></b> (bold)si <i></i> (italic) pentru formatele speciale.

Codul paragrafului precedent, de exemplu, arata astfel:

<p>Limbajul HTML (sau XHTML, cum i se spune la ora actuala ultimei sale variante) se remarca prin simplitate. Este un limbaj pe baza de <i>marcaje</i> (sau <i>tag</i>-uri), fiecare marcaj putand suporta mai multe <i>atribute</i>. De exemplu, pentru a scrie <b>ingrosat</b> sau <i>italic</i> textul din interiorul unui anumit paragraf, trebuie sa folosim marcajele <code><p></p></code> - pentru a delimita paragraful, respectiv <code><b></b><code> (<b>b</b>old)si <code><i></i><code> (<i>i</i>talic) pentru formatele speciale.</p>

O pagina web are 3 parti principale. Fiecare dintre aceste parti trebuie tratata cu atentie, daca doriti ca site-ul sa fie reusit. Aceste parti sunt:

Declaratia de conformitate, care defineste tipul documentului creat. In cazul unui document XHTML, aceasta este <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>. Oricum, nu e nevoie sa o scrieti dumneavoastra. Editorul HTML va sti sa o introduca singur.

Antetul (head), care contine meta-marcajele necesare clasificarii si indexarii corecte a paginilor pe internet. Urmeaza imediat dupa declaratia de conformitate si este delimitat in interiorul marcajului <head></head>. Cele mai importante meta-marcaje continute in antet sunt <title></title> - titlul paginii, <meta name='description' content='' /> - descrierea paginii si <meta name='keywords' content='' /> - cuvintele-cheie care descriu cel mai bine continutul paginii.

Pagina propriu-zisa, delimitata de marcajul <body></body>. Aici apar toate celelalte marcaje folosite.

Exista cateva sute de marcaje HTML, dar cele mai folosite sunt aproximativ 20:

marcajele pentru blocuri de continut: <p></p> - paragrafe, <div></div> - diviziuni

marcajele pentru formate de text: <b></b> - bold, <i></i> - italic

marcajele pentru liste: <ul></ul> - lista cu marcatori, <ol></ol> - lista cu numere, <li></li> - rand in lista

marcajele titlu: <h1></h1> - titluri foarte importante, <h2></h2> - titluri importante <h7></h7> - subtitluri putin importante

marcajele semantice: <strong></strong> - evidentiere puternica, <em></em> - evidentiere

marcajele pentru tabele: <table></table> - tabel, <tr></tr> - rand de tabel, <td></td> - celula

marcajele pentru obiecte: <img src='' /> - imagine, <object></object> sau <embed></embed> - animatii flash, <applet><applet> - aplicatii Java

alte marcaje importante: <a href=''></a> - link (legatura), <span></span> (continut in linie), <hr /> - despartitor orizontal

Editorul HTML va va ajuta sa introduceti automat aceste marcaje, fara sa mai fie nevoie sa le scrieti de mana. De exemplu, daca doriti sa scrieti cu caractere-bold un anumit text, selectati acel text si apasati butonul de 'bold' (de obicei un B mare, ca in Word) de pe bara de instrumente. Veti observa ca textul dorit este incadrat cu marcajul <b></b>. In cazul in care doriti sa introduceti o imagine, editorul va va ajuta sa selectati imaginea de pe hard disk si sa o introduceti in locul dorit.

Marcajele pot contine, ele insele, diverse atribute care sa le rafineze intelesul. De exemplu, in cazul unei imagini, putem intalni atributele width (latime in pixeli), height (inaltime in pixeli) si alt (text alternativ): <img src='' width='' height='' alt='' />

In interiorul site-ului, paginile sunt legate intre ele prin hiperlinkuri, sau legaturi, iar informatia este organizata exact ca in Windows - sub forma de fisiere si directoare. Sa presupunem ca site-ul dvs. este www.site.ro. Pentru ca pagina A sa contina o legatura (un link) la pagina B, codul acesteia va putea fi:

absolut: de tipul <a href='https://www.site.ro/cale/paginaB.html'></a>;

relativ: <a href='cale/paginaB.html'></a>. Daca pagina B este asezata, ierarhic, inainte de pagina A (adica intr-un director mai aproape de baza site-ului comparativ cu pagina A), atunci linkul din A catre B va contine doua puncte ('..') pentru orice director superior ierarhic (de ex., <a href='../paginaB.html'></a>)

3.3 Limbajul PHP

Principalul avantaj al unui site dinamic asupra unuia static este usurinta in administrare (actualizare). Adaugarea sau modificarea de continut este foarte simpla datorita faptului ca acest continut este stocat intr-o baza de date sau in fisiere text, astfel incat cei care se ocupa de continut nu au nevoie sa posede cunostinte de HTML, CSS, JavaScript sau alte tehnologii specifice domeniului 'web design' si utilizate intens la construirea paginilor de prezentare. De asemenea, daca trebuie sa schimba logo-ul pe fiecare pagina a site-ului, este de ajuns sa facem modificarea intr-un singur fisier in loc sa luam fiecare pagina in parte, sa o modificam si sa o uploadam inapoi pe server.

PHP este un limbaj de programare pe parte de server (in engleza 'server-side') care poate, printre altele, sa interactioneze cu o baza de date pentru a afisa sau a modifica informatiile din ea. Mai exact, serverul stie sa furnizeze browser-ului clientului doar pagini HTML. Paginile HTML pot fi deja pe server sau create tot acolo de catre alte aplicatii la cererea server-ului de web, fiind apoi servite ca HTML browser-ului clientului.

In momentul in care cerem pagina 'test.html' de pe server, acesta o serveste imediat. Daca in schimb cerem o pagina cu alta extensie, '.php' in cazul de fata, serverul cauta sa vada daca este configurat sa serveasca pagini cu aceasta extensie si ce program (din cele pe care le gestioneaza) se ocupa de ele. Astfel, atunci cand cerem o pagina cu extensia '.php', serverul va trimite mai departe cererea catre PHP, de tipul 'Se cere un fisier PHP; acceseaza-l, analizeaza-l si executa-i continutul dupa care da-mi inapoi o pagina HTML pe care sa o afisez clientului'. PHP preia cererea, ruleaza codul din programul PHP si daca vede ca se cer informatii din baza de date MySQL, o acceseaza, extrage informatiile cerute si construieste cu ele o pagina HTML pe care o va trimite serverului (de obicei este vorba de un server Apache) pentru ca acesta sa o poata servi clientului.

Ca limbaj de programare web, PHP este foarte usor de invatat daca elementele programarii sunt explicate pe intelesul tuturor. Datorita similaritatii intre limbajele de programare de uz comun, cunoscand PHP va fi mai usor trecem apoi la VBScript, Java sau C.

Din toata gama de tehnologii web, PHP este limbajul ideal pentru construirea de pagini web dinamice si interactive. Este relativ simplu, open-source, poate fi rulat pe mai multe platforme (Linux, Windows, precum si pe o multime de alte sisteme de operare mai rar intalnite) si se poate conecta la mai multe tipuri de baze de date.

Cel mai important aspect al limbajului este posibilitatea de a fi imbricat cu cod HTML. Putem crea astfel pagini HTML statice si, din loc in loc, acolo unde este nevoie, sa introducem dinamism cu ajutorul PHP. Spre exemplu, o mare parte din structura unei pagini web cum ar fi meniurile, tabelele, aranjamentul in pagina, poate fi compusa din cod HTML static. Din loc in loc codul HTML va fi intercalat cu cod PHP care extrage din baza de date cele mai noi stiri. In momentul in care accesam pagina, acest cod este analizat linie cu linie si executat pe server astfel inca este afisata o pagina HTML fara sa stim ca pentru crearea ei s-a facut o conexiune la baza de date, s-au extras informatiile de acolo si au fost ordonate pentru afisare.

In istoria tehnologiilor utilizate la realizarea site-urilor web, limbajul PHP a aparut in 1994 din nevoia lui Rasmus Lerdof de a afla cate persoane ii vizualizeaza CV-ul online. El a denumit setul de scripturi create 'PHP', acronimul pentru Personal Home Page. Pe parcursul urmatorilor 3 ani limbajul a evoluat, dar adevaratul succes a inceput sa il cunoasca de cand Zeev Suraski si Andi Gutmans au rescris integral motorul PHP, motor care poarta de la versiunea 4 a PHP numele Zend, o combinatie de litere din prenumele creatorilor sai: Zeev si Andi.

Fiind open source, PHP beneficiaza de suport activ din partea comunitatii online, acesta fiind si motivul cresterii explozive a numarului de site-uri bazate pe PHP. Intre 2000 si 2002 numarul lor a crescut de peste 130 de ori, in timp ce numarul site-urilor bazate pe tehnologia ASP a crescut de 3 ori, Java Server Pages (JSP) de 16 ori, iar Cold Fusion de 4 ori.

Pe langa manipularea continutului paginilor web, PHP poate trimite headere HTTP pentru autentificare, seta cookie-uri, redirectiona utilizatorii. Mai mult, cu ajutorul bibliotecilor externe de functii poate parsa fisiere XML, crea si manipula imagini, animatii Shockwave, Flash, PDF-uri sau se poate conecta la un server de mail. Iar acestea sunt doar cateva din functiile pe care le poate indeplini.

Dezvoltarea exploziva a limbajului PHP din ultimii ani este in cea mai mare parte datorata usurintei cu care acesta lucreaza cu bazele de date in Internet. Din multitudinea de solutii de dezvoltare site-uri web, PHP ofera programatorului o multime de functii predefinite pentru lucrul cu bazele de date in Internet. Aceasta inseamna ca din cadrul PHP putem executa toate operatiunile aferente comenzilor MySql.

PHP este in principal axat pe partea de scripting ce ruleaza pe server, deci poate face orice fac si programele CGI, cum ar fi corectarea de date de la formulare, generarea de continut dinamic sau trimitere si primire de cookie-uri.

Exista trei domenii principale unde sunt folosite scripturile PHP:

Scripturi ce ruleaza pe server. Acesta este cel mai traditional si cel mai important pentru PHP. Sunt necesare: interpretorul PHP (CGI sau modul de server), un server de web si un navigator de web. E nevoie ca serverul de web sa fie pornit, cu o conexiune PHP instalata. Se poate accesa rezultatul programelor PHP cu un navigator print intermediul serverului de web.

Scripting la linia de comanda. PHP poate sa ruleze fara a fi nevoie de server si de browser, ci doar de interpretorul PHP. Aceasta metoda este ideala pentru scripturile ce se vor a fi executate regula folosind cron (task scheduler in Windows), sau sarcini simple de procesare a textelor.

Scrierea de aplicatii ce ruleaza de partea clientului in mod grafic (GUI). Probabil ca PHP nu este limbajul cel mai bun de a scrie aplicatii cu ferestre pentru Windows sau alte sisteme de operare, dar facilitatile avansate ale PHP-ului in aplicatiile ce ruleaza de partea clientului pot totusi folosi PHP-GTK pentru a scrie astfel de programe. Deasemenea exista posibilitatea de a scrie aplicatii ce ruleaza pe platforme diferite folosind aceasta metoda. PHP-GTK este o extensie a PHP-ului, nedisponibila in distributia principala de PHP.

PHP poate fi folosit pe aproape toate sistemele de operare, incluzand Linux, multe variante de Unix (incluzand HP-UX, Solaris si OpenBSD), Microsoft Windows, Mac OS X, RISC OS etc. PHP are deasemenea suport pentru majoritatea serverelor de web din prezent. Acestea includ serverele Apache, Microsoft Internet Information Server, Personal Web Server, Netscape si iPlanet, serverul Oreillz Website Pro, Caudium, Xitami, OmniHTTPd si multe atele. Pentru majoritatea serverelor PHP are un modul, iar pentru celelalte suporta standardul CGI, PHP putand sa lucreze ca un procesor CGI.

Deci, cu PHP, exista posibilitatea de a alege un sistem de operare si un server de web. Chiar mai mult, exista posibilitatea de a alege programarea procedurala sau programarea orientata obiect, sau chiar de a le amesteca. Cu toate acestea, nu orice facilitate a standardului POO este prezenta in versiunea curent a PHP-ului.

Cu PHP pot fi obtinute pagini HTML. Posibilitatile PHP-ului includ afisarea de imagine, fisiere PDF si chiar aplicatii Flash (folosind librariile libswf si Ming), toate generate instant. Deasemeanea, e posibil ca rezultatul sa fie orice fisier text, cum ar fi XHTML sau orice alte fisiere XML. PHP poate genera automat aceste fisiere si sa le salveze in sistemul de fisiere in loc sa le afiseze, formand un cache de partea serverului pentru continut dinamic.

Una dintre cele mai puternice si importante facilitati in PHP este suportul sau pentru o gama larga de baze de date. Scrierea une pagini de web ce interactioneaza cu o baza de date este relativ simpla. Urmatoarele baze de date sunt suportate:

Adabas D

Ingres

Oracle (OCI7 si OCI8)

dBase

InterBase

Ovrimos

Empress

FrontBase

PostgreSQL

FilePro (doar citire)

mSQL

Solid

Hyperwave

Direct MS-SQL

Sybase

IBM DB2

MySQL

Velocis

Informix

ODBC

Unix dbm

Deasemenea, exista o extensie abstracta a bazei de date DBX, ce permite intr-un mod transparent folosirea oricarei bazei de date ce suporta aceasta extensie. Mai mult, PHP suporta ODBC, standardul Open Database Connection, deci se poate conecta la orice alta baza de date ce suporta acest standard mondial.

PHP are deasemeanea suport pentru a conversa cu alte servicii folosind protocoale cum ar fi LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (pe Windows) si multe altele. Poate deschide deasemenea socket-uri de retea si sa interactioneze intre aproape toate limbajele de programare Web. Legat de interconectare, PHP are suport pentru instantierea obiectelor Java si utilizarea lor intr-un mod transparent ca obiecte PHP. Poate deasemenea folosi extensii CORBA pentru a accesa obiecte aflate la distanta.

PHP are capabilitati extrem de folositoare pentru procesarea textului, de la POSIX Extins sau expresii regulare Perl pana la parsarea documentelor XML. Pentru parsarea si accesarea documentelor XML, suporta standardele SAX si DOM. Poate folosi extensia XSLT pentru a transforma documentele XML.

Folosind PHP in domeniul comertului electronic, sunt foarte folositoare pentru plati online functii de plata Cybercash, CyberMUT, VeriSign Payflow Pro si CCVS.

In cele din urma, dar nu ultimul rand, exista si alte extensii interesante, cum ar fi functii ale motorului de cautare mnoGoSearch, functii pentru accesarea IRC-ului, multe utilitare de compresie (gzip, bz2), conversie de calendar, traducere etc.

3.4 Baze de date in Mysql

Bazele de date MySQL au un sistem de initializare standard (un setup). Este vorba de o baza de date, compusa din tabele, oarecum separate, continand diferite campuri, etc. chiar daca sunt parte dintr-o baza de date. Fiecare tabela contine inregistrari care sunt facute din campuri.

3.4.1 Conectarea la o Baza de Date

Procesul de instalare a unei baze de date MySQL difera de la o platforma la alta. In esenta este vorba peste tot de un nume al bazei de date, un nume de utilizator (cont) si o parola. Aceste informatii sunt cerute pentru conectarea la baza de date

3.4.2 Crearea unei Tabele

Mai inainte de orice altceva cu baza de date, trebuie create tabele. O tabela este o sectiune a bazei de date pentru memorarea unor informatii structurate (legate). Intr-o tabela vom defini diferite campuri care vor fi folosite in acea tabela. Din cauza acestei constructii, aproape toate centrele cu baze de date trebuie sa fie satisfacute folosind doar o baza de date.

Campuri.Exista o larga varietate de campuri si de atribute disponibile in MySQL si vom discuta doar cateva din ele:

Tipul campului

Descriere

TINYINT

Numar Intreg mic

SMALLINT

Numar Intreg mic

MEDIUMINT

Numar Intreg

INT

Numar Intreg

VARCHAR

Text (maximum 256 caractere)

TEXT

Text

Acestea sunt doar cateva dintre campurile disponibile.

Conectarea la o baza de date. Primul lucru care trebuie facut, mai inainte de a putea face ceva, este conectare la baza de date MySQL. Acesta este un pas foarte important, pentru ca, daca nu suntem conectati, comenzile catre baza de date vor esua

Practic, pentru a folosi o baza de date trebuie sa precizam numele de utilizator (username), parola (password) si numele bazei de date :

$username='nume_utilizator';
$password='parola';
$database='numele_bazei_de_date';

Parola se poate pastra intr-un fisier. Sursa PHP este prelucrata de server inainte de a fi trimisa navigatorului, astfel incat este imposibil pentru orice utilizator sa vada scriptul.

Mai apoi, avem nevoie de o comanda care sa lanseze conexiunea la baza de date:

mysql_connect(localhost,$username,$password);

Aceasta linie spune PHP-ului sa se conecteze la serverul de baze de date MySQL la 'localhost' folosind numele de cont memorat in $username si parola din $password.

mysql_close();


Aceasta este o comanda foarte importanta care inchide conexiunea cu serverul de baze de date. Scriptul va rula inca, daca nu includem aceasta comanda, iar prea multe conexiuni MySQL deschise pot cauza probleme serverului web. Este un obicei bun sa includem comanda de inchidere de mai sus dupa ce am introdus toate comenzile catre baza de date, pentru a mentine platforma in buna stare.

Dupa ce ne-am conectat la severul de baze de date, selectam baza de date pe care vrem s-o folosim. Trebuie sa fie o baza de date la care avem acces, cu respectivul nume de utilizator. Se foloseste urmatoarea comanda:

@mysql_select_db($database) or die( 'Baza de date nu poate fi selectata');

Aceasta parte suplimentara 'or die' este buna pentru iesire, chiar daca nu asigura decat un minim control al erorii.

Baza de date contine toate informatiile necesare despre obiectele ce intervin intr-o multime de aplicatii, relatiile logice dintre aceste informatii si tehnicile de prelucrare corespunzatoare. In bazele de date are loc o integrare a datelor, in sensul ca mai multe fisiere sunt privite in ansamblu, eliminandu-se informatiile redundante. Este permis accesul simultan la aceleasi date, situate in acelasi loc sau distribuite spatial, a mai multor persoane prin mai multe tipuri de interogari.

3.4.3 MySQL-Front. Comunicarea cu serverul MySQL

Comunicarea cu serverul MySQL se realizeaza cu ajutorul unei aplicatii, mysql.exe ce se gaseste in directorul c:mysqlbin. Exista mai multe cai de a rula aceasta aplicatie, fie din linia de comanda MySQL-Front.

Pentru aplicatia de fata se utilizeaza versiunea MySQL-Front care poate fi download-ata de pe internet de la adresa https://www.mysqlfront.de trebuie sa precizam ca versiunea "free" este disponibila doar timp de o luna de la instlare.

Motivul principal pentu care s-a utilizat aceasta aplicatie, este interfata prietenoasa pe care o prezinta MySQL-Front. De asemenea este posibila interogarea serverului in acelasi mod ca si in linia de comanda, deoarece MySQL-Front ofera posibilitatea de editare "manuala" a comenzilor catre server.

De asemenea conectarea la srverul MySQL se face cu usurinta, in sensul ca la pornirea aplicatiei trebuie doar complectate campurile ce fac referire la numele serverului la care se va face conectarea , numele utilizatorului(in cazul in care avem un utilizator implicit - cu drepturi depline- se va complecta root ) si parola utilizatorului.

3.4.4 Proiectarea bazei de date

Baza de date din care am preluat informatia pentru inscrierea ei in documentele PHP este implementata cu MySQL-Front.

Pentru a putea crea o baza de date si tabele ce ii corespund, trebuie ca serverul MySQL sa fie pornit. In functie de cum este setat, aceasta poate sa porneasca automat la fiecare restartare a sistemului, sau manual prin rularea executabilului winmsqlqdmin.exe ce se gaseste in c:mysqlbin. Exista mai multe cai de arula aceasta aplicatie, fie din linia de comanda fie utilizand MySQL-Front.

Daca se utilizeaza linia de comanda se scrie:

c:msqlbinmsql.exe-p-u root

iar cand ni se cere parola se apasa ENTER . daca serverul nu a fost pornit va aparea mesajul de eroare: "Can't connect to MySQL server on ,nume_server'".

A doua posibilitate, folosita si in cazul de fata este utilizarea MySQL-Front-ului, care prezinta o interfata mutl mai prietenoasa. Conectarea la serverul MySQL se face prin complectarea server, port, user si parola cu ,server_name', 3306, "host" si respectiv ,parola'. In cazul de fata nu avem parola campul se lasa necomplectat.

Figura 5.Interfata MySQL Front

Toate tabelele ce vor urma a fi create vor fi realizate in baza de date tot de noi si pe care o numim "lucr".

In cazul in care se utilizeaza linia de comanda, pentru crearea respectiv stergerea unei baze de date se va scrie:

create database nume_baza_de_date;

respectiv pentru stergere:

drop database nume_baza_de_date;

In figura de mai jos se indica butoanele utilizate la crearea unei noi baze de date (1) sau unui nou tabel (2), respectiv la stergerea unei baze de date (3) sau a unui tabel (4) in cazul in care se utilizeaza MySQL-Front:

Figura 6. Mod de utilizare a MySQL Front-ului

MySQL-Front prezinta posibilitatea de a adresa "manual" comenzi SQL catre baza de date, adresare care se face ca si in linia de comanda, apasand butonul SQL Qery(5).

Folosind sintaxa: "CREATE TABLE" nume_tabela(camp1 tipul_variabila, camp2 tipul_variabila,) se realizeaza toate tabelele de mai jos trebuie sa amintim ca tipul_variabila nu este altceva decat tipul de date care vor fi inregistrate inregistrate in campul respectiv, in functie de care MySQL aloca spatiu pe disc realizandu-se astfel o economie.

Baza de date realizata este structurata in 3 tabele: testare, student, teest. Structurile acestor tabele sunt prezentate in continuare.

Baza de date se numeste "lucr", ea este formata din trei tabele: -testare

-teest

-stud

Tabela "stud" e folosita pentru a selecta numele si parola existenta in baza de date. In tabela "stud"exista campurile: id_user (care va fi si cheia primara pentru acest tabel), user_name, tel, email. Aici s-au introdus inregistrari de catre administrator.

Tabelul Stud

id_user

user_name

tel

email

int(5)

int(5)

int(5)

int(5)

create table stud(

id_user int(2) not null primary key,

user_name char(55) not null,

password char(2) not null,

tel int(55) not null,

email char(55) not null);

Tabela "teest" e folosita pentru a se tine evidenta intrebarilor, variantelor de raspunsuri si a raspunsurilor corecte. In tabela "teest" exista campurile : id_t, chestionar, nr_intreb, intrebare, rasp_a, rasp_b, rasp_c, rasp_d, rasp_e, punct_a, punct_b, punct_c, punct_d, punct_e.

Tabel Teest

id_t

chestionar

nr_intreb

intrebare

rasp_a

rasp_b

rasp_c

rasp_d

rasp_e

int(5)

int(5)

int(5)

int(5)

char(55)

char(55)

char(55)

char(55)

char(55)

punct_a

punct_b

punct_c

punct_d

punct_e

char(55)

char(55)

char(55)

char(55)

char(55)

create table teest(

id_t int(2) not null primary key,

chestionar int(2) not null,

nr_intreb int(2) not null,

intrebare char(55) not null,

rasp_a char(55) not null,

rasp_b char(55) not null,

rasp_c char(55) not null,

rasp_d char(55) not null,

rasp_e char(55) not null,

punct_a char(55) not null,

punct_b char(55) not null,

punct_c char(55) not null,

punct_d char(55) not null,

punct_e char(55) not null);

In Tabela "testare" campul de rasp_dat este complectat de utilizator din pagina de chestionar dupa apasarea butonului de submit si folosit pentru a compara raspunsul dat de student si raspunsul correct pentru a realize evaluarea chestionarului. In tabela "teest" exista campurile : id_p, id_user, chestionar, nr_intreb, rasp_dat.

Tabel Testare

id_p

id_user

chestionar

nr_intreb

rasp_dat

int(5)

int(5)

int(5)

int(5)

char(55)

create table testarea(

id_p int(2) not null primary key,

id_user int(2) not null,

chestionar int(2) not null,

nr_intreb int(55) not null,

rasp_dat char(55) not null);

3.5 Descrierea functionala a aplicatiei

In acest sub capitol vom explica pe larg functionarea aplicatiei.

Site-ul a fost instalat pe un server si poate fi vizitat la adresa https://localhost/lucrare folosind orice browser. Functionarea si aspectul site-ului au fost testate folosind Internet Explorer, prin urmare rezultatele grafice vor fi optime pentru acest browser.

Site-ul cuprinde urmatoarele pagini:

-pagina administrator, destinata exclusiv administratorului, prin intermediul careia se poate sterge sau adauga, pe Internet din lista de participanti ai cursului online. Tot aceasta pagina face apel la baza de date, afisand tabelele pentru a usura munca administratorului in stergerea categoriilor.

Fig.3.5.1 Imagine cu pagina administrator

Listing 6. Programul de afisare, stergere si introducere in baza de date

<?

@$button = $_POST['button'];

@$user_name = $_POST['user_name'];

@$password = $_POST['password'];

@$tel = $_POST['tel'];

@$email = $_POST['email'];

@$delete=$_GET['delete'];

$link = mysql_connect('localhost', 'user', 'pass')

or die('Could not connect');

mysql_select_db ('lucr',$link);

#$link = mysql_connect('localhost', 'root') or die('Conexiunea nu poate fi stabilita');

#$bd = mysql_select_db('lucr') or die('Baza de date nu poate fi selectata');

if ($button == 'Introducere')

if (@$delete!='')

?>

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'https://www.w3.org/TR/html4/loose.dtd'>

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>

<style type='text/css'>

<!--

body,td,th

body

.style4

-->

</style>

</head>

<body>

<table width='100%' border='0' cellpadding='0' >

<tr bordercolor='#000000'>

<td width='276' height='593' valign='top' background='text/pag1.gif'><p>

<p>

<p>

<p align='right'>

</p>

<br>

</p> </td>

<td width='691' bordercolor='#ECE9D8' background='text/pag2 copy.gif' bgcolor='#C1D3FB'>

<p>;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>;

<?

//$link = mysql_connect('localhost', 'user', 'pass')or die('Could not connect');

// mysql_select_db ('lucr',$link);

@$query1 = mysql_query('select * from stud') or die('Interogarea nu a putut fi rulata');

echo '<table border='1' bordercolor='#484c74'>';

echo'<TR><TD> <B>id_user</B><TD> <B>user_name</B><TD> <B>password</B><TD> <B>tel</B><TD> <B> E-mail </B><TD> <B>Stergere</B></td> </TR>';

while ($row = mysqli_fetch_array($query1))

echo '</table>';

?>

</p>

<div align='right'></div>

<div align='center'><span class='style4'></span>

</div>

</h2>

</p>

</div>

<div align='right'></div>

<table> <tr><td >

<form name='form1' method='post' action='admin.php '>

<div align='center'>

<table> <tr><td><div align='left'>user_name</div></td>

<td> <input name='user_name' type='text' size='30' maxlength='30'> </td></tr>

<tr><td> <div align='left'>password</div></td>

<td> <input name='password' type='password' size='30' maxlength='24'> </td></tr>

<tr><td ><div align='left'>tel</div></td>

<td ><input name='tel' type='text' size='30' maxlength='30'></td> </tr>

<tr><td ><div align='left'>email</div></td>

<td ><input name='email' type='text' size='30' maxlength='30'></td>

</tr>

</table>

<div align='right'>

<input name='button' type='submit' value='Introducere'>

<span class='style4'></span>

<input name='button' type='reset' value='reset'>

</div>

</div>

</form>

</td></tr>

</table> <p>&nbsp;

</p></td>

</tr>

</table>

</body>

</html>

-pagina pentru utilizator - index - pagina cuprinde un formular ce serveste la realizarea autentificarii. Daca acest proces se face corect este permis accesul mai departe , altfel este trimis un mesaj de eroare .

Fig.3.5.2 Imagine cu pagina de autentificare

Din acesta pagina apasand butonul de login se face trecerea de la pagina index.htm la pagina capitolul1.php este realizata cu ajutorul paginii login.php in care este facuta autentificarea userului.

Listing 7 Programul Login.php

<?php

session_start();

$link = mysql_connect('localhost', 'user', 'pass')die('Could not connect');

mysql_select_db ('lucr',$link);

$query_log1 = mysql_query('select * from stud where user_name='$user' and password='$pass'') or die('user neinregistrat');

if (mysqli_num_rows($query_log1)>0)

else

?>

<script>

document.URL='capitolul1.php';

</script>

Daca la apasarea butonul de login numele si parola utilizatorului au fost introduse corect, adica exista in baza de date, puten naviga prin pagina capitolul1.php structurata pe capitole si subcapitole

Fig.3.5.3 Imagine cu capitolul 1 din Fig.3.5.4 Imagine cu un subcapitol

cursul Tehnica sunetului

Apasand butonul de chestionar din fiecare capitol ajungem in paginile cu testele corespunzatoare pentru fiecare capitol . Cu un buton de submit se va afisa punctajul obtinut de student la chestionarul respectiv si in functie de puncajul obtinut, permisiunea de a trece sau nu la urmatorul capitol.

Listing 8. Realizarea evaluarii

<?

session_start();

$username=$HTTP_SESSION_VARS['username'];

$password=$HTTP_SESSION_VARS['password'];

$stop=$HTTP_SESSION_VARS['stop'];

$stop=false;

session_register('stop');

$punctaj1=0;

$punctaj2=0;

$punctaj3=0;

$punctaj4=0;

$punctaj5=0;

$punctaj6=0;

$link = mysql_connect('localhost', 'user', 'pass')

or die('Could not connect');

mysql_select_db ('lucr',$link);

$query_log1 = mysql_query('SELECT punct_a, punct_b, punct_c, punct_d, punct_e FROM teest WHERE chestionar=1 AND nr_intreb=1') or die('Interogarea nu poate fi rulata');

$row = mysqli_fetch_array($query_log1);

$p11=$row['punct_a'];

$p12=$row['punct_b'];

$p13=$row['punct_c'];

$p14=$row['punct_d'];

$p15=$row['punct_e'];

if ($checkbox=='checkbox') $punctaj1+=$p11;

if ($checkbox2=='checkbox') $punctaj1+=$p12;

if ($checkbox3=='checkbox') $punctaj1+=$p13;

if ($checkbox4=='checkbox') $punctaj1+=$p14;

if ($checkbox5=='checkbox') $punctaj1+=$p15;

echo ' Punctaj intrebare1=';

echo($punctaj1);

$query_log1 = mysql_query('SELECT punct_a, punct_b, punct_c, punct_d, punct_e FROM teest WHERE chestionar=1 AND nr_intreb=2') or die('Interogarea nu poate fi rulata');

$row = mysqli_fetch_array($query_log1);

$p21=$row['punct_a'];

$p22=$row['punct_b'];

$p23=$row['punct_c'];

$p24=$row['punct_d'];

$p25=$row['punct_e'];

if ($checkbox6=='checkbox') $punctaj2+=$p21;

if ($checkbox7=='checkbox') $punctaj2+=$p22;

if ($checkbox8=='checkbox') $punctaj2+=$p23;

if ($checkbox9=='checkbox') $punctaj2+=$p24;

if ($checkbox10=='checkbox') $punctaj2+=$p25;

echo ' Punctaj intrebare2=';

echo($punctaj2);

$query_log1 = mysql_query('SELECT punct_a, punct_b, punct_c, punct_d, punct_e FROM teest WHERE chestionar=1 AND nr_intreb=3') or die('Interogarea nu poate fi rulata');

$row = mysqli_fetch_array($query_log1);

$p31=$row['punct_a'];

$p32=$row['punct_b'];

$p33=$row['punct_c'];

$p34=$row['punct_d'];

$p35=$row['punct_e'];

if ($checkbox11=='checkbox') $punctaj3+=$p31;

if ($checkbox12=='checkbox') $punctaj3+=$p32;

if ($checkbox13=='checkbox') $punctaj3+=$p33;

if ($checkbox14=='checkbox') $punctaj3+=$p34;

if ($checkbox15=='checkbox') $punctaj3+=$p35;

echo ' Punctaj intrebare3=';

echo($punctaj3);

$query_log1 = mysql_query('SELECT punct_a, punct_b, punct_c, punct_d, punct_e FROM teest WHERE chestionar=1 AND nr_intreb=4') or die('Interogarea nu poate fi rulata');

$row = mysqli_fetch_array($query_log1);

$p41=$row['punct_a'];

$p42=$row['punct_b'];

$p43=$row['punct_c'];

$p44=$row['punct_d'];

$p45=$row['punct_e'];

if ($checkbox16=='checkbox') $punctaj4+=$p41;

if ($checkbox17=='checkbox') $punctaj4+=$p42;

if ($checkbox18=='checkbox') $punctaj4+=$p43;

if ($checkbox19=='checkbox') $punctaj4+=$p44;

if ($checkbox20=='checkbox') $punctaj4+=$p45;

echo ' Punctaj intrebare4=';

echo($punctaj4);

$query_log1 = mysql_query('SELECT punct_a, punct_b, punct_c, punct_d, punct_e FROM teest WHERE chestionar=1 AND nr_intreb=5') or die('Interogarea nu poate fi rulata');

$row = mysqli_fetch_array($query_log1);

$p51=$row['punct_a'];

$p52=$row['punct_b'];

$p53=$row['punct_c'];

$p54=$row['punct_d'];

$p55=$row['punct_e'];

if ($checkbox21=='checkbox') $punctaj5+=$p51;

if ($checkbox22=='checkbox') $punctaj5+=$p52;

if ($checkbox23=='checkbox') $punctaj5+=$p53;

if ($checkbox24=='checkbox') $punctaj5+=$p54;

if ($checkbox25=='checkbox') $punctaj5+=$p55;

echo ' Punctaj intrebare5=';

echo($punctaj5);

$query_log1 = mysql_query('SELECT punct_a, punct_b, punct_c, punct_d, punct_e FROM teest WHERE chestionar=1 AND nr_intreb=6') or die('Interogareanu poate fi rulata');

$row = mysqli_fetch_array($query_log1);

$p61=$row['punct_a'];

$p62=$row['punct_b'];

$p63=$row['punct_c'];

$p64=$row['punct_d'];

$p65=$row['punct_e'];

if ($checkbox26=='checkbox') $punctaj6+=$p61;

if ($checkbox27=='checkbox') $punctaj6+=$p62;

if ($checkbox28=='checkbox') $punctaj6+=$p63;

if ($checkbox29=='checkbox') $punctaj6+=$p64;

if ($checkbox30=='checkbox') $punctaj6+=$p65;

echo ' Punctaj intrebare6=';

echo($punctaj6);

$nota=($punctaj1+$punctaj2+$punctaj3+$punctaj4+$punctaj5+$punctaj6);

echo ' Nota Chestionar ';

echo($nota);

echo($username);

mysql_query('INSERT INTO testarea VALUES(NULL, '$username', 1,'$nota')');

mysql_close($link);

?>

<script>

document.URL='capitolul2.php';

</script>

Partea de program responsabila de securitatea paginii web. Prin acest script i se ridica utilizatorului dreptul de a naviga prin curs daca nu a obtinut un anumit punctaj.

Listing9 . Partea de securitate

<?php

session_start();

$username=$HTTP_SESSION_VARS['username'];

$password=$HTTP_SESSION_VARS['password'];

$stop=$HTTP_SESSION_VARS['stop'];

$link = mysql_connect('localhost', 'user', 'pass')

or die('Could not connect');

mysql_select_db ('lucr',$link);

$query_log1 = mysql_query('select count(*) from testarea where id_user='$username'');

list ($test) = mysqli_fetch_row ($query_log1);

if($test<1) die('Nu ati ajuns aici !!!');

$query_log1 = mysql_query('select min(nota) from testarea where id_user='$username'');

list ($test) = mysqli_fetch_row ($query_log1);

if($test<10) die('$username, nu ati obtinut punctajul de trecere !!!');

if($stop) die('Nu aveti acces !!!');

?>

Schema bloc a site-ului

Cap 4. Concluzii

Dupa cum s-a putut urmari pe parcursul proiectului aceasta aplicatie este o aplicatie in scop didactic pentru studenti care sa permita studiul la distanta..

Am incercat dezvoltarea unor idei cat mai actuale imbinand continutul cursului cu functiile tehnice oferite de limbajele PHP, Dreamweaver MX, MySQL, Swish pentru ca temele sa fie cat mai abordabile, interfata proiectului sa fie cat mai usor de utilizat de catre student.

Punctele care au fost realizate in aceasta aplicatie sunt:

Din pagina de administratorul se pot realiza:

adaugarea unui student in baza de date. Studentul primeste un nume de utilizator si o parola pentru a avea acces la site.

stergerea studentului din baza de date.   

conectarea cu parola a studentului la site-ului "Tehnica sunetului", destinat invatamantului la distanta.

in cazul in care studentul a fost introdus in baza de date, va avea posibilitatiile:

studierea capitolului I, navigarea prin acesta.dupa care studentul este obligat sa completeze primul chestionar, fara de care nu poate trece la capitolul II

din chestionar studentul nu va avea acces la paginile de teorie, iar dupa doua ore ii va expira pagina.

regulile aplicate, la trecerea de la capitolul I la capitolul II, se vor aplica si celorlalte capitole.

Aplicatia poate fi reactualizata cu usurinta in orice moment de catre profesor. Astfel se pastreaza o legatura stransa intre cerintele profesorului si nevoile studentului.

Din punctul meu de vedere proiectul m-a solicitat sa imi dezvolt orizontul de cunostinte in domeniile Web Design, PHP si MySQL.

BIBLIOGRAFIE

https://dev. Mysql.com/doc/mysql/en/Table_type.htm ;

  • Pescaru Dan- Baze de date MultiMedia, note de curs;
  • Anghel, Traian Dezvoltarea aplicatiilor WEB folosind XHTML, PHP si MySQL    2005
  • Besty Bruce Macromedia Dreamweaver MX; trad Liliana dabulescu
  • Ullman, Larry    PHP pentru World Wide Web in imagini 2004


Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 3244
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved