World Wide Web Si Internet

Introducere

O mare parte din procesul de formarea a aplicațiilor web include crearea si optimizarea documentelor , a stilurilor , scripting si a imaginilor care vor face parte din viitorul site . Oamenii care se ocupa de producție trebuie sa aiba o bună cunostința despre limbajele de programare , marcare si scripting. Tendința mainstream s-a schimbat catre contentul dinamic si interactivitate in ultimii ani si piața este din ce in ce mai concurentă.

Lucrarea de licență este structurată in 6 capitole pornind de la la tehnologiile folosite in dezvoltarea aplicației la elementele de bază din web design si ultimul capitol prezentand elementele combinate in realizarea aplicației web . Aplicația constă intr-un site de ordin stiințific cu conținut psihologic avand articole de specialitate pentru membri si informații pentru non membrii .

Capitolul 1. World wide web si Internet-ul

Pornind cu câteva introduceri despre internet și www ,voi continuă cu detalii și observații evoluția web design-ului care include design de grafică , interfață și design-ul de informații. . Cât și schimbările care s-au produs de-a lungul timpului în world wide web evidențiind tehnologiile actuale html / css și modul în care acestea interacționează cu php și javascript .

Capitolul 2. Javascript – Jquery

Unul dintre limbajele folosite pentru creearea de pagini web dinamice este JavaScript. JavaScript este folositoare pentru câteva scopuri , cum ar fi funcțiile mouse – over (ca de exemplu highlight la un buton de navigare când un user mută cursorul mouse-ului deasupra lui) sau acceptarea și validarea de informații pe care un user le introduce în formă web. În schimb nu este de folos în interacțiunea cu baza de date . Jquery este o librărie a lui java script dezvoltată pe filozofia “scrii mai puțin , faci mai mult”

Capitolul 3. PHP

Este un limbaj de scripting server side folosit în web development dar și că limbaj de programare cu uz general . Aici voi prezența tipuri de date , funcții și obiecte .

Ceea ce face PHP să difere de un JavaScript de partea clientului este că codul sau este executat pe server, generând HTML care este apoi trimis către client. Clientul va primi rezultatele rulării acelui script, fără a putea cunoaște codul-sursă ce stă la baza. Putem chiar configure tot web server-ul să proceseze toate fișierele HTML cu PHP. Cel mai bun lucru la PHP este simplitatea extremă pentru un începător, dar totodată existența multor facilități avansate pentru un programator profesionist

PHP și MySql lucrează bine împreună , este o relație dinamică de parteneriat , în capitolele ce urmează o să discut despre avantajele fiacaruia și și functionabilitate

Capitolul 4. Mysql

La centrul aplicației Web se află baza de date care este memoria de lungă durata , stochează informații pentru aplicație . O baza de date este un cabinet de fișiere electronic , care stochează datele într-o formă bine organizată în așa fel încât să poată fi găsită la nevoie.

Mysql este cea mai populară baza de date open source din lume și permite implementarea cu costuri rezonabile a unor aplicații de baze de date încorporate și web fiabile, performanțe și scalabile . În acest capitol voi prezența la general sistemul de gestionare a bazelor de date Mysql , relația generală cu php și implementare.

Capitolul 5. Elemente de web design si SEO

Prezentare pe scurt a elementelor de seo ( search engine optimization) care include accesibilitatea website-ului către motoarele de căutare ,cuvinte cheie și conținutul care trebuie să fie conținut unic și de încredere. Și elemente de webdesign , tehnici ,trenduri în design-ul modern.

Capitol 6. Aplicație web cu conținut psihologic de specialitate

Aplicația folosește html 5 cu design modern elegant folosindu-se de elementele din ultimile versiuni de css. Ca descriere la prima vedere este un site pentru mobil având câteva articole despre stările psihice și condițiile intalnitmes2e la oameni. Beneficiază de un login și register cu baza de date mysql și făcută legătura cu Php .

Capitolul 1

World Wide Web si Internet

1.1 Mic istoric si descriere

Tehnologia si tot ce ne inconjoara evolueaza la o rată incredibilă , in fiecare an vedem progrese in principalele domenii tehnologice . Putem spune ca start-ul generatiei de informatie globală la dat internetul. Ceva ce acum sute de ani parea o fantezie sau conceptii scoase din cartile Science fiction se petrec si evoluează sub ochii nostrii .

Prima forma de rețea a luat naștere undeva intre anii 1960 si 1970 cand s-a construit primul model de transfer de date intre calculatoare . De la primele experiențe pana in zilele noastre retele s-au exstins sa dea nastere la ce numim astazi “Internet” .

Internet-ul in traducere simpla reprezinta amsamblul de retele de ordin privat , public , academic , afaceri si guvernamentale care sunt interconectate intre ele local si global prin infrastructuri electrice , wireless si optice . .Acest lucru este posibil cu ajutorul protocoalelor de comunicare TCP ( Transminison control protocol ) si IP ( Internet Protocol ) numite stiva TCP IP .

Internet-ul dispune de o mare varietate resurse de informatii si servicii cum ar fi aplicatiile din world wide web , email ,conexiuniile peer to peer si retele pentru transfer de fisiere .

Nu are reguli sau polițe centrale , fiecare retea fiind libera sa isi creeze propriile setari . Exista in schimb IP ( internet protocol ) si Domain name Sistem (DNS) sunt guvernate si dirijate de catre ICANN ( Internet Corporation for Assigned Names and Numbers ) .

Unele dintre retele sunt administrate de institutii guvernamentale, altele de universitati, firme, biblioteci, scoli etc.

Rețelele pot fi de mai multe tipuri

LAN (Local Area Network) – calculatoarele sunt plasate in interiorul aceleași clădiri

sau campus universitar;

MAN (Metrropolitan Area Network) – rețea extinsă la nivelul unui oraș);

WAN (Wide Area Network) – rețea națională.

1.2 TCP/IP

TCP/IP este prescurtare de la Transmission Control Protocol / Internet Protocol.Suita de protocoale TCP/IP reprezintă cel mai flexibil protocol de transport disponibil și permite PC-urilor din întreaga lume ,chiar dacă au sisteme diferite să comunice între ele.

Istoria lui a început în anii 1960 sub forma unui proiect finanțat de guvernul SUA. Inițial ARPA ( Agenția pentru Proiecte de Cercetare Avansată ) a creat protocolul TCP/IP pentru că rețelele militare să se poată interconecta , dar a dat pe gratis standardele de protocol agențiilor guvernamentale și universităților.

TCP/IP nu este ușor de utilizat si nici cel mai rapid protocol dar in schimb ofera un grad mare de corecție a erorilor

1.2.1 TCP

TCP este un serviciu de garantează livrarea unui flux de date trimis de la o gazdă la alta fără duplicarea sau fără pierdere de date. Din moment ce transferul de pachete de date pe rețea, nu este sigur, se apelează la o tehnică cunoscută ca “numele de confirmare pozitivă cu retransmitere” care este folosită pentru a garanta fiabilitatea transferurilor de pachete.

Această tehnică fundamentală, consta în faptul că receptorul răspunde cu un mesaj de confirmare (acknowledgement) de fiecare dată când primește un pachet de date. Cel care expediază păstrează o copie a fiecărui pachet trimis, și așteaptă confirmare înainte de a începe trimiterea pachetului următor. Expeditorul păstrează, de asemenea, și un timer, atunci când pachetul a fost trimis, și va relua retransmiterea pachetului în cazul în care timer-ul expira iar confirmarea recepției întârzie să apară. Contorul de timp este necesar în cazul în care un pachet se pierde sau este deteriorat.

TCP reprezintă un set de reguli: pentru protocol, el este totdeauna asociat cu Protocolul Internet, iar pentru Protocolul Internet, reprezintă o metodă de a trimite datele, pe baza unui "șir de unități de mesaj" între calculatoare prin Internet. În timp ce IP-ul se ocupă doar de livrarea efectivă a datelor, TCP-ul are grijă ca un mesaj să fie împărțit în unități individuale de date, numite segmente, și să țină evidența segmentelor transmise, pentru dirijarea eficientă prin intermediul rețelei. De exemplu, când un fișier HTML este trimis de la un server web, stratul software TCP de pe acel server împarte secvența de octeți al acelui fișier, în segmente și le transmite în mod individual către stratul software IP (Nivelul Internet). Nivelul Internet încapsulează fiecare segment TCP într-un pachet IP prin adăugarea unui antet, care include (printre alte date) adresa IP destinație. Chiar dacă fiecare pachet are aceeași adresă de destinație, acestea pot fi rutate pe căi diferite prin intermediul rețelei. În cazul în care programul client pe computerul destinație le primește, stratul TCP (Nivelul Transport) reasamblează segmentele individuale asigurându-se totodată de ordonarea corectă și fără erori a acestora, înainte de a fi livrate către nivelul aplicație.

1.2.2 IP

Adresa IP / IP Address (Internet Protocol Address): Acest număr este un număr utilizat în exclusivitate de către toate echipamentele ce țin de tehnologia informației (imprimante, routere, modemuri, calculatoare etc.) ce le permite să se identifice și să comunice între ele într-o rețea de calculatoare. 

Există un standard în comunicații, denumit Protocol Internet (Internet Protocol / IP). În termeni obișnuiți, este ca și adresa ta de acasă. În cazul în care comanzi ceva prin poștă, respectivii trebuie să știe adresa ta corectă (Adresa IP), orașul în care ești (Network – Rețeaua de calculatoare) sau nu vei putea primi produsele comandate. Același lucru este valabil pentru toate echipamentele din Internet. Fără o adresă specifică, informațiile nu pot fi recepționate.

Adresele IP pot fi alocate permanent unui server Email/Business sau unei rețele de reședință sau pot fi alocate temporar de către furnizorul tău de servicii Internet dintr-o "pușculiță"de adrese disponibile pe principiul primul venit, primul servit (altfel spus, când te conectezi la internet, automat furnizorul îți va aloca o adresă IP astfel încât calculatorul tău să poată comunica cu alte echipamente)

  Nume Domenii / Sistem DNS (Domain Names / Domain Name System): Este un system care transformă adresele ip în cuvinte . Ne este mult mai ușor să ne amintim un cuvânt decât o numerotare de numere. La fel se poate spune și despre adresele de email

Ca exemplu, este mult mai ușor să ne amintim o adresă web precum domeniulmeu.ro decât 80.96.138.16 sau, în cazul adresei email, mai rapid îți amintești [anonimizat] decât nume@80.95.147.26.

  Adresa IP Dinamica (Dynamic IP Address): Reprezintă o Adresă IP ce nu este statică și se poate schimba oricând fiind destinată echipamentelor ce nu necesită conexiune permanență la Internet/Rețea. Această adresă IP îți este alocată de către furnizorul tău de acces la internet (ISP) sau de către un Server DHCP. Acest lucru este destinat unui număr mare de clienți ce nu necesită să aibe aceeași adresă IP mereu, din mai multe motive. Calculatorul tău va prelua automat o adresă IP când se conectează la rețeaua respectivă fără să fie nevoie să cunoști detaliile rețelei respective privind configurarea. Această adresă IP poate fi alocată oricui utilizează o conexiune dial-up, conexiuni Wireless și conexiuni de mare viteză (Hight Speed Internet). Dacă ai nevoie de un server email sau un server web, este recomandat să ai o adresă IP statică.

Adresa IP statica (Static IP Address): Este o adresă IP fixă ce nu se schimbă niciodată fiind destinată echipamentelor ce necesită conexiuni permanante la Internet/Rețea. Este în contrast cu o adresă IP dinamica ce se poate schimba oricând. Majoritatea furnizorilor de acces la internet îți pot aloca o adresă IP statică sau un bloc de adrese statice pentru o taxă mică. 

Versiunea IP 4 (IP Version 4): În prezent este utilizată de către majoritatea echipamentelor legate în rețele. Oricum, pe măsură ce ne amintim un cuvânt decât o numerotare de numere. La fel se poate spune și despre adresele de email

Ca exemplu, este mult mai ușor să ne amintim o adresă web precum domeniulmeu.ro decât 80.96.138.16 sau, în cazul adresei email, mai rapid îți amintești [anonimizat] decât nume@80.95.147.26.

  Adresa IP Dinamica (Dynamic IP Address): Reprezintă o Adresă IP ce nu este statică și se poate schimba oricând fiind destinată echipamentelor ce nu necesită conexiune permanență la Internet/Rețea. Această adresă IP îți este alocată de către furnizorul tău de acces la internet (ISP) sau de către un Server DHCP. Acest lucru este destinat unui număr mare de clienți ce nu necesită să aibe aceeași adresă IP mereu, din mai multe motive. Calculatorul tău va prelua automat o adresă IP când se conectează la rețeaua respectivă fără să fie nevoie să cunoști detaliile rețelei respective privind configurarea. Această adresă IP poate fi alocată oricui utilizează o conexiune dial-up, conexiuni Wireless și conexiuni de mare viteză (Hight Speed Internet). Dacă ai nevoie de un server email sau un server web, este recomandat să ai o adresă IP statică.

Adresa IP statica (Static IP Address): Este o adresă IP fixă ce nu se schimbă niciodată fiind destinată echipamentelor ce necesită conexiuni permanante la Internet/Rețea. Este în contrast cu o adresă IP dinamica ce se poate schimba oricând. Majoritatea furnizorilor de acces la internet îți pot aloca o adresă IP statică sau un bloc de adrese statice pentru o taxă mică. 

Versiunea IP 4 (IP Version 4): În prezent este utilizată de către majoritatea echipamentelor legate în rețele. Oricum, pe măsură ce numărul calculatoarelor ce accesează Internetul crește, adresele IPv4 disponibile se împuținează. IPv4 este limitat la 4.294.967.296 adrese. 

Versiunea IP 5 (IP version 5): Acesta este un protocol experimental bazat pe sisteme UNIX. Pentru a respecta convențiile UNIX (UNIX este un sistem de operare a calculatoarelor) toate versiunile numerotate diferit sunt considerate experimentale. IPv5 nu a fost niciodată destinat publicului larg.

Versiunea IP 6 (IP version 6): Reprezintă înlocuirea bătrânului IPv4. Numărul estimate de adrese IP unice este 40.282.366.920.938.463.463.374.607.431.768.211.456..

1.3 DNS

Un sistem de nume de domeniu (precurtat DNS, în engleză Domain Name System) reprezinta un sistem distribuit de păstrare și interogare a unor date arbitrare într-o structură ierarhică. Cea mai cunoscută aplicație a DNS este gestionarea domeniilor în Internet.

Caracteristicile sistemului de nume (DNS) sunt:

folosește o structură ierarhizată;

deleagă autoritatea pentru nume;

baza de date cu numele și adresele IP este distribuită.

Fiecare implementare TCP/IP conține o rutină software (name resolver) specializată în interogarea serverului de nume (DNS) în vederea obținerii translatării nume/adresă IP sau invers.

Există 2 feluri de rezoluție de nume:

Rezoluție de tip recursivă (name resolverul cere serverului de nume să facă translatarea);

Rezoluție de tip iterativă (name resolverul cere serverului de nume să îi furnizeze adresa IP a unui server care poate face translatarea).

Tipic, procesul de rezoluție a numelor se desfășoară astfel:

Name resolverul primește de la o aplicație client TCP/IP un nume; acesta formulează o interogare primului server de nume din lista serverelor;

Serverul de nume (DNS) decide daca este mandatat pentru domeniul respective .Dacă este autorizat ,poate transmite răspunsul clientului;

Dacă nu este autorizat, transmite o interogare altui server de nume pentru un răspuns autorizat; obține răspunsul autorizat și transmite clientului un răspuns neautorizat; in acelasi timp stochează răspunsul local pentru a răspunde si cereri asemanatoare pentru acelasi nume

Resolverul de nume transmite răspunsul aplicației utilizator și îl păstrează într-un cache pentru o anumită perioadă;

Dacă name resolverul nu primește un răspuns într-un anumit timp, transmite cererea următorului server de nume din listă. Când lista este epuizată, va genera o eroare.

1.3.1 Protocolul DNS

Redirectorul. La un calculator conectat la o rețea se pot executa atât aplicații care necesită numai resursele sistemului respectiv (programe de calcul tabelar, programe de procesare de texte etc.), cât și aplicații care accesează resursele rețelei (browsere de navigare în internet etc.). Nivelul aplicație este cel care permite accesul aplicațiilor la mediul de rețea.

Într-o rețea LAN, redirectorul este protocolul care lucrează la nivelul sistemului de operare al calculatorului și permite să se facă distincție între cererile adresate unității centrale a calculatorului respectiv și cele adresate unui server. Redirectorul permite administratorului de rețea să atribuie nume logice resurselor aflate pe diverse unități, iar utilizatorul, pentru a accesa o anumită resursă, va utiliza numai acești identificatori, fără nici o referință la rețeaua respectivă. Astfel, redirectoarele extind componentele software locale. Astfel, este posibilă utilizarea în comun a resurselor logice și fizice ale rețelei, precum și integrarea aplicațiilor locale cu cele de rețea.

Fiecare “site” de pe Internet are alocată o adresă IP. Folosirea de către utilizatorii obișnuiți a acestor adrese este dificilă și poate genera erori. Astfel, este necesar un protocol care să facă corespondența dintre numele diverselor componente de rețea și adresele lor IP. Această problemă este rezolvată de către protocolul DNS (Domain Names System).

1.3.2 Domeniul 

este un grup de calculatoare care sunt asociate prin localizarea lor geografică sau prin tipul de activitate al organizației pe care o deservesc. Numele de domeniu este un șir de caractere și/sau numere, de obicei un nume sau prescurtarea unui nume.

La începutul existenței Internetului, când numărul de calculatoare legate în rețea era relativ mic, a existat o tabelă realizată de organizația NIC (Network Information Center), care făcea corespondența dintre adresa IP și numele gazdei. Numele de gazde erau șiruri de caractere, fără a avea o organizare ierarhică. Aceste corespondențe erau introduse manual în tabelă și erau transmise tuturor administratorilor de rețele conectate la Internet.

1.3.3 Ierarhia de domeniu. 

DNS implementează un spațiu ierarhizat de nume pentru obiectele din Internet. Spre deosebire de numele de fișiere (calea către acestea), care sunt prelucrate de la dreapta la stânga, fiind separate de slash-uri, numele DNS sunt prelucrate de la dreapta la stânga, separatorul fiind caracterul “.”. Asemănător ierarhiei de fișiere, ierarhia DNS poate fi văzută ca un arbore.

Servere de nume Primul pas în organizarea acestor servere este partiționarea ierarhiei în zone. Fiecare zonă poate fi gândită ca fiind corespondentă la o anumită autoritate administrativă, responsabilă pentru acea porțiune a ierarhiei.

1.4 World Wide Web

1.4.1 Prezentare

World wide web a luat naștere prin nevoia oamenilor de a accesa informații în mod eficient și rapid

 World Wide Web ( sau mai pe scurt spus WWW sau Web-ul ) reflectă prin numele său trăsăturile sale esențiale : 

– destinat căutării informației în întregul Internet ( world wide = în lumea întreagă) 

– folosește hypertextul pentru organizarea informației ceea ce face ca aceasta să apară ca o pânzã de pãianjen ( web ) și care permite navigarea cu ușurință de la o pagină la alta .

   Hypertextul reprezintă o metodă de organizarea a informației în care anumite cuvinte, marcate , sunt legate de alte documente care conțin informații adiționale despre ele. Hypermedia permite realizarea delegaturi similare la grafice, imagini, animație, etc. .Selecționarea unui astfel de cuvânt ( sau imagine) va avea ca efect afișarea documentului legat de cuvântul respectiv.

   Web-ul reprezintă un sistem uriaș de informații legate între ele ca într-o pânză de păianjen și care se afla pe calculatoare aflate în întreaga lume (situri web). Informația poate fi accesată  privind paginile web care conțin legături hypertext către alte pagini web. Aceste pagini web pot fi accesate folosind un software special numit Browser . 

Principalele browsere existente pe piață sunt : 

Internet Explorer

Opera

Chrome

FIrefox

Fiecare pagină web este identificată printr-o adresă unică, care se mai numește și URL ( Uniform Resource Locator) cu forma protocol://(www).gazda.nume_de_domeniu . Ea poate fi urmată în anumite cazuri de nume de fișiere.

Particula www poate fi găsită în cadrul unor pagini, dar ea poate și să lipsească.

Gazda reprezintă numele calculatorului și poate fi format din mai multe cuvinte cu punct intre ele.

Nume de domeniu reprezintă o prescurtare din 2 sau 3 litere. La această ora există câteva nume de domenii generale ( TLD – Top Level Domains ) – com, org. net, gov, edu, mil ,world etc

1.4.2 Sandarde web

La baza funcționării webului stau 3 standarde, și anume:

(HTTP) – Hypertext Transfer Protocol, stiva de protocoale OSI prin care serverul web și browserul clientului (utilizatorului) comunică între ele;

(HTML) – Hypertext Markup Language, standard de definire și prezentare a păgânilor web.

(URÎ) – Uniform Resource Identifier, sistem universal de identificare a resurselor din web, folosit pentru a identifica și regăsi paginile web;

Următoarele standarde sunt definite mai târziu:

Cascading Style Sheets (CSS)

JavaScript ( în capitolul următor îl voi lua mai detaliat)

Hypertext Transfer Protocol Secure – HTTPS.

1.4.3 HTML

HTML este o formă de marcare orientată către prezentarea documentelor text pe o singură pagină, se utilizează un soft de redare specializat, numit agent utilizator HTML, un exemplu bun de astfel de software fiind browserul web. HTML furnizează mijloacele prin care conținutul unui document este adnotat cu diverse tipuri de metadate și indicații de redare. Indicațiile de redare variază de la decorațiuni minore ale textului, cum ar fi specificarea faptului că un anumit cuvânt trebuie bold ,italic sau că o imagine trebuie introdusă, până la scripturi complexe, hărți de imagini și formulare. Metadatele pot include informații despre titlul și autorul documentului, informații structurale despre cum este împărțit documentul în diferite segmente, paragrafe, liste, titluri etc. și informații cruciale care permit că documentul să poată fi legat de alte documente pentru a forma astfel hiperlink-uri (sau web-ul).

Este un format de text proiectat pentru a putea fi citit și editat de oameni utilizând un editor de text simplu. Totuși scrierea și modificarea paginilor în acest fel solicită cunoștințe solide de HTML și consumă timp . Editoarele grafice (de tip WYSIWYG) cum ar fi Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web să fie tratate asemănător cu documetele Word, dar cu observația că aceste programe generează un cod HTML care este de multe ori calitate slabă.

1.4.4 Html – Elemente

Principalele elemente in HTML sunt <html>, <head>, <title> si <body>. Un exemplu simplu de construire a unei pagini HTML avem mai jos

<html>

<head>

<title> Gheorghe Robert Daniel </title>

</head>

<body>

Salut , asta este lucrarea mea de licentă !

</body>

</html>

Text-ul dintre <html> și </html> descrie un document html

Text-ul dintre <head> si </head> conține informații despre document

Text-ul dintre <title> și </title> conține titlul documentului

Text-ul dintre <body> și </body> descrii conținutul vizibil din pagina web

1.4.5 CSS

CSS, prescurtarea de la Cascading Style Sheets, sunt etichete folosite pentru formatarea păgânilor web (de exemplu formatare text, background sau aranjare în pagina, etc.).

Beneficiile sintaxei CSS sunt: formatarea este introdusă într-un singur loc pentru tot documentuleditarea rapidă a etichetelordatorita introducerii într-un singur loc a etichetelor se obține o micșorare a codului paginii, implicit încărcarea mai rapidă a acesteia Sintaxa CSS este structurata pe trei nivele:

nivelul 1 fiind proprietațile etichetelor din documentul HTML, tip inline

nivelul 2 este informația introdusă in blocul HEAD, tip embedded

nivelul 3 este reprezentat de comenzile aflate in pagini separate, tip externe

Cea mai mare importanță (suprascrie orice alt parametru) o are sintaxa de nivelul 1 iar cea mai mică importanță o are cea de nivelul 3.

Folosirea unui fișier extern său nivel 3 care să conțină comenzi CSS este foarte practic deoarece poate fi utilizat în mai multe situații (mai multe fișiere HTML pot folosi același fișier extern CSS) eliminând timpul necesar introducerii codului corespunzător în fiecare pagină și totodată editarea lor într-un singur loc pentru mai multe fișiere.

Extensia acestor fișiere este .css.

Legătura paginilor HTML cu fișierele extene CSS se face prin introducerea următoarei linii:

<link rel="stylesheet" type="text/css" href="fisier_css.css">

Atributele indică următoarele: rel – fisierul este tip styleshhet

type – tip text ce conține comenzi CSS

href – fișierul sau adresa fișierului CSS.

Comenzile de nivel 2 sau embedded sunt cele găzduite oriunde intre perechea de etichete <head> si </head> conform sintaxei:

<style type="text/css">

<!–

… comenzi CSS …

–>

</style>

Unde style -specifica unde începe și unde se termină blocul CSS iar type este folosit pentru a ascunde de browserele vechi, care nu cunosc sintaxa CSS, conținutul blocului style.

Comenzile CSS de nivel 1 sau inline sunt cele mai folosite, ele suprascriind orice alte comenzi CSS. Sunt amplasate in interiorul etichetelor HTML aflate in zona BODY și au sintaxa:

<eticheta style="codul CSS dorit">

…textul sau obiectul asupra caruia este aplicat codul CSS…

</eticheta>

Este permisă folosirea comentariilor in CSS ca si in HTML:

/* Acesta este un comentariu in CSS */

1.4.6 HTTP

Hypertext Transfer Protocol (HTTP) este metoda cea mai des utilizată pentru accesarea informațiilor în Internet care sunt păstrate pe servere World Wide Web (WWW). Protocolul HTTP este un protocol de tip text, fiind protocolul "implicit" al WWW. Adică, dacă un URL nu conține partea de protocol, aceasta se consideră că fiind http. HTTP presupune că pe calculatorul destinație rulează un program care înțelege protocolul. Fișierul trimis la destinație poate fi un document HTML .

1.4.7 URL

Un localizator uniform de resurse este o secvență de caractere standardizată, folosită pentru denumirea, localizarea și identificarea unor resurse de pe Internet, inclusiv documente text, imagini, clipuri video, expuneri de diapozitive, etc. Standardul a fost introdus de Tim Berners-Lee pentru a fi utilizat în World Wide Web, specificațiile actuale fiind cuprinse în RFC1738 .URL-ul este un caz particular al unei specificații mai ample numite URÎ (Identificator uniform de resurse), standardizat de același W3C.

Capitolul 2

Javascript – jQuery

2.1 Descriere

JavaScript (JS) este un limbaj de programare orientat pe obiecte bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind executat de către browser. Limbajul este cunoscut bine pentru folosirea sa în construirea siturilor web, dar mai este folosit și pentru acesul la obiecte încastrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final JavaScript.

În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.

2.2 Caracteristici ale limbajului JavaScript

JavaScript poate fi inglobat in HTML

Poate că evenimentul JavaScript cel mai important a fost cuplarea să timpurie cu HTML. Dacă vă ocupați cu JavaScript pe parte de client, între cele două nu există aproape nici o deosebire. De obicei, codul JavaScript este găzduit în documente HTML și executat în interiorul lor. Cele mai multe obiecte JavaScript au etichete HTML pe care le reprezintă, astfel încât programul este inclus la nivel esențial, pe parte de client, al limbajului

JavaScript folosește HTML ca modalitate de a sări în cadrul de lucru al aplicațiilor pentru Web și-i extinde capacitățile normale, asigurând evenimente pentru etichetele HTML și permițând acestui cod condus de eveniment să se execute din interiorul său.

JavaScript este dependent de mediu

JavaScript este un limbaj de scriptare, nu un instrument în sine ci pentru sine. Software-ul care rulează de fapt programul JavaScript pe care îl scrieți este motorul de interpretare din mediu. Când este inclus într-un document HTML JavaScript depinde de browser pentru a fi recunoscut. Dacă browserul nu-l recunoaște, programul va fi ignorat, ba chiar mai rău – dacă nu țineți seama de browserele neacceptate programul JavaScript în sine poate fi afișat că text pe pagina dumneavoastră. Dar în ziua de astăzi toate browserele de top au compatibilitate javascript.

JavaScript este un limbaj interpretat

Ca majoritatea limbajelor descriptoare, JavaScript este interpretat de browser înainte de a fi executat. JavaScript nu este compilat în binar – ca un fișier exe -, ci rămâne parte a documentului HTML la care este atașat. Dezavantajul unui limbaj interpretat este că executarea lui durează mai mult, deoarece browserul compilează instrucțiunile în timpul rulării chiar înainte să le execute. Avantajul constă în faptul că este mult mai ușor să actualizați codul sursă. Nu trebuie să vă faceți griji pentru versiunile vechi ale unui script JavaScript pe care le-ați scăpat, deoarece dacă-l modificați în fișierul HTML sursa, noul program este executat la prima accesare a documentului de către utilizator.

2.3 Variabile si operatori JavaScript

2.3.1 Variabile.

Într-un program se folosesc date constante și variabile care își pot schimba valoarea pe parcursul executieti acestuia. Pentru a crea o variabilă există două metode:

1. folosind declarația var: var nume = valoare

2. fara declarația var: nume = valoare

Unde "nume" este numele dat variabile iar "valoare" este valoarea pe care o atribuim

Exemplu: var untext = "Un text oarecare"; varsta = 20;

Observăm : Valorile de tip sir sunt scrise intre ghilimele simple sau duble. valorile numerice sunt scrise fara ghilimele.

2.3.2 Operatori

Operatorii sunt simboluri ce ajută la modificarea, manipularea datelor și valorilor variabilelor. Tipuri de operatori:

Operatori aritmetici

Principalul tip de operatori folosiți in orice limbaj de programare. Ei sunt de mai multe feluri:

(+)adunare

(-)scadere

(*)inmultire

impartire(/)

module(%)

,(++)incrementare

(–)decrementare.

Modulul:

Acesta determina restul impartirii a doua numere. Exemplu: 5%3 = 2 10%3 = 1 Incrementare: Acesta creste valoarea cu o unitate. Exemplu: a = 7 a++ este 8 este asemenea cu a = a + 1 Decrementare: Acesta scade valoarea cu o unitate. Exemplu: a = 7 a– este 6 este asemenea cu a = a – 1 Operatorii ++ si – pot fi folositi si ca prefix si ca sufix, insa ordinea executiei este diferita.

Operatori de atribuire:

Operatori de comparare:

Operatori logici:

Aceștia sunt folosiți pentru a compara doua sau mai multe expresii si după returneaza raspunsul (TRUE sau False)

&& – si (and) – Compara expresiile si returneaza TRUE daca sunt toate adevarate ,daca nu sunt toate adevărate returneaza FALSE.

Exemplu: a=6 b=3 a<3 && b>5 – returneaza FALSE

|| – sau (or) – Compara expresiile si returneaza TRUE daca una din ele este adevarată, daca nu este una adevarată returneaza FALSE.

Exemplu: a=6 b=3 a<3 || b>5 – returneaza TRUE !

– nu (not) – daca expresia este falsa returneaza TRUE.

Exemplu: a=6 b=3 !(a==b) – returneaza TRUE deoarece "a" nu este egal cu "b"

Operatori typeof:

Acest operator returneaza tipul de date continut de operandul sau. De exemplu, putem verifica daca o variabila este de tip șir sau număr

Exemple:

typeof parseFloat – return la șirul "function"

typeof 123 – return la șirul "number"

typeof "un text oarecare" – return la șirul "string"

typeof true – return la șirul "boolean"

typeof window – returneaza sirul "object"

Operatorii pentru funcții

Primul operator este reprezentat de parantezele rotunde () , acesta numindu-se operator de apelare , care se scrie intotdeauna dupa numele funcției.

Exemplu :

Function numele-funcției () {

Corpul funcției…

}

Iar pentru a apela funcția este folosit din nou operatorul de apelare acolo unde vrem sa fie apelata funcția .

Exemplu :

Function o-functie(arg1,arg2,arg3) {

Corpul funcției…

}

Operatori pentru structure de date (obiecte)

Acești tipi de operatori sunt necesari în momentul în care lucram cu structure de date , sau obiecte . Primul operator este punctual “.” . Acesta ne permite să ne referim la un membru ce aparține obiectului specificat (variabilă , funcție sau obiect ). Pentru acest lucru folosim sintaxă :

numeObiect.nume-variabila

numeObiect.nume-functie()

numeObiect.obiect

Al doilea operator este folosit pentru a accesa un element dintr-o matrice. Acesta este simbolizat prin paranteze pătrate [] și ne permite să ne referim la orice element din matrice.

Pentru acest lucru ne folosim de sintaxa : nume-tablou [cheie]

Operatorul conditional “?”

Acest operator atribuie valoarea unei variabile , pe baza unei condiții. Acesta este un fel de if () dar mai simplu si nu foarte evoluat.

Sintaxa acestui operator este aceastaȘ

Variabila = (condiție)?valoare1:valoare2

Exemplu:

<script type=”text/javascript”>

<!—

Varsta = 20 ;

Var mesaj = (varsta >= 18)?”Ești major”:”Ești minor”;

document.write(mesaj);

//–>

</script>

Dacă variabila “varstă” este mai mare sau egala cu 18, variabila “mesaj” va primi valoarea

“Ești maajor” altfel va primi valoarea “Ești minor”.

2.4 Jquery

Query este o platformă de dezvoltare JavaScript, concepută pentru a ușura și îmbunătăți procese precum traversarea arborelui DOM în HTML, managementul inter-browser al evenimentelor, animații și cereri tip AJAX. jQuery a fost gândit să fie cât mai mic posibil, disponibil în toate versiunile de browsere importante existente, și să respecte filosofia "Unobtrusive JavaScript". Biblioteca a fost lansată în 2006 de către John Resig .

2.4.1 Caracteristici

jQuery se poate folosi pentru a rezolva următoarele probleme specifice programării web:selecții de elemente în arborele DOM folosind propriul motor de selecții open source Sizzle, un proiect născut din jQuery [4]parcurgere și modificarea arborelui DOM (incluzând suport pentru selectori CSS 3 și XPath simpli)

înregistrarea și modificarea evenimentelor din browser

manipularea elementelor CSS

efecte și animații

cereri tip AJAX

extensii ( vezi mai jos )

utilităti – versiunea browser-ului, funcția each

2.4.2 Adaugarea librariei jQuery in Pagina Web

Libraria jQuery este stocata intr-un singur fisier JavaScript, continand toate metodele jQuery.

Poate fi adaugata la o pagina web cu urmatorul mark-up:

<head>

<script type="text/javascript" src="jquery.js"></script>

</head> tagul script <script> trebuie sa fie in sectiunea <head> a paginii.

2.4.3 Exemplu Simplu jQuery

Urmatorul Exemplu demonstreaza cum metoda jQuery hide(), ascunde toate elementele <p> intr-un document HTML.

Exemplu:

<html>

<head>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">

$(document).ready(function(){

$("button").click(function(){

$("p").hide();

});

});

</script>

</head>

<body>

<h2>Acesta este un titlu</h2>

<p> Acesta este un paragraf.</p>

<p> Acesta este alt paragraf.</p>

<button>Click</button>

</body>

</html>

2.2.3 Selectori jquery de CSS

Selectorii jQuery de CSS pot fi utilizati pentru a modifica proprietati CSS ale Elementelor HTML.

Urmatorul Exemplu modifica background-color la toate elementele <p> in galben.

Exemplu:

$("p").css("background-color","yellow");

Capitolul 3

Php

3.1 Introducere

Ceea ce face PHP să difere de JavaScript de partea clientului este că codul său este executat pe server, generând HTML care este apoi trimis către client. Clientul va primi rezultatele rulării acelui script, fără a putea cunoaște codul-sursă ce stă la bază. Putem chiar configure tot web server-ul să proceseze toate fișierele HTML cu PHP. Cel mai bun lucru la PHP este simplitatea extremă pentru un începător, dar totodată existența multor facilități avansate pentru un programator profesionist.

PHP-ul a fost dezvoltat la sfârșitul anului 1994 de către Rasmus Lerdorf, și a fost utilizată în scopuri personale. Prima versiune care a fost folosită și de alți programatori a apărut în anul 1995, fiind numită Personal Home Page Tools. Această versiune permitea înțelegerea câtorva funcții și macro-uri folosite în mod regulat pentru realizarea de guestbook-uri și de contoare. Acesta a fost momentul în care programatorii din toată lumea au început să-și aducă contribuția la dezvoltarea limbajului. La sfârșitul anului 1997, PHP/FI era folosit în pește de sit-uri Web din întreaga lume. În 1997, Zeev Suraski și Andi Gutmans au rescris de la zero serverul de PHP/FI, iar noua versiune lansată pe piață a devenit cunoscută sub denumirea de PHP3. La mijlocul anului 1999, numărul de servere pe care rula PHP-ul ajunsese la 1.000.000.

Dezvoltat inițial pentru sistemul de operare (u)NIX, serverul de PHP a fost portat cu succes și pe servere 9x/NT.

Poate ceea mai puternică și mai importantă componentă a PHP-ului este suportul cu bazele de date. Scrierea unei baze de date pentru Web este extrem de simplă. Bazele de date cu care PHP-ul știe să lucreze sunt:

Adabas D, InterBase ,Solid ,dBase ,mSQL ,Sybase ,Empress,MySQL ,Velocis FilePro,Oracle,Unix,dbm,Informix, PostgreSQL

PHP-ul este realizat și distribuit în sistemul OpenSource, ceea ce face din acest limbaj unul foarte utilizat pe scară largă. PHP-ul este foarte utilizat și datorită faptului că este foarte ușor de folosit și se poate integra în codul html la fel de ușor.
PHP vine de la \"Hypertext Preprocessor\" și este un limbaj de comenzi-script pentru server (se spune că acționează pe partea serverului – server-side language). Fișierele cu comenzi PHP rulează pe serverul Web, nu în navigator, pe stația client. PHP este un limbaj relativ nou (comparativ cu alte limbaje precum Perl (CGI) și Java), dar devine rapid unul dintre cele mai răspândite și mai populare din Internet.

Pentru a scrie un fișier în PHP avem nevoie doar de un editor de texte tot ca și în cazul paginilor HTML singura deosebire este că paginile trebuie salvate în format PHP.

Scripturile PHP sunt întotdeauna incluse între două taguri PHP, conform aceleași scheme ca și în HTML. Astea spun serverului să preia information dintre ele și să o interpreteze ca expresie din PHP.

3.2 Utilizare

Sunt trei domenii principale, unde scripturile PHP sunt utilizate.

Scripting de partea serverului. Acesta este cel mai tradițional și de bază domeniu al PHP. Este nevoie de trei lucruri pentru ca aceasta să funcționeze. Analizatorul PHP (în calitate de CGI, sau modul pentru server), un server web și un navigator web. Trebuie să se ruleze serverul web cu o instalare PHP conectată la el. Se pot accesa ieșirile programului PHP cu navigatorul web, vizualizând pagina PHP prin server.

Scripting în linia de comandă. Se poate face un script PHP să ruleze fără un server și navigator web. Este nevoie doar de analizatorul PHP pentru a-l utiliza în acest mod. Acest mod de utilizare este ideal pentru script-uri executate în mod regulat cu cron (pe *nix sau Linux) sau cu Task Scheduler (pe Windows). Aceste script-uri pot fi utilizate de asemenea pentru lucrări simple de procesare a textelor. Citiți secțiunea despre Utilizarea PHP în linia de comandă pentru informații suplimentare.

Scrierea aplicațiilor de birou. PHP probabil că nu este cel mai potrivit limbaj pentru a crea o aplicație de birou cu o interfață grafică a utilizatorului, dar dacă sunt cunoștinte de PHP foarte bune si se dorește să se utilizeze unele facilități avansate ale PHP în aplicații de partea clientului, se poate utiliza PHP-GTK pentru a scrie asemenea aplicații.

3.3 Noțiuni de baza

Codul PHP trebuie inclus in fisiere cu extensia .php ce vor fi deservite utilizatorilor finali si trebuie delimitat de restul continutului prin tagul de inceput <?php si tagul de sfarsit ?>. Practic tot ce se afla in interiorul acestor etichete va fi interpretat ca fiind cod-sursa PHP (cod ce va fi executat de interpretorul PHP). Textul din afara celor 2 taguri este lasat neschimbat, fiind ulterior interpretat de browser. Se pot folosi si alte etichete in functie de configuratia serverului web, dar acestea nu sunt recomandate.

<?php

/* forma recomandata */

?>

<script language="php">

/* forma disponibila oricand, putin folosita */

</script>

<?

/* taguri scurte, acceptarea lor de catre web-server depinde de configurare */

?>

<%

/* taguri in stilul asp, acceptarea lor de catre web-server depinde de configurare */

%>

Codul PHP este format din instrucțiuni – comenzi date către interpretor, în urma cărora se execută ceva. Așa cum s-a mai spus, PHP este folosit în principal pentru a genera cod HTML, așa că de cele mai multe ori instrucțiunile folosite sunt cele de afișare. În aplicații mai complexe se pot însă folosi și instrucțiuni de conectare la bazele de date, de citire/scriere/manipulare fișiere, intructiuni de trimitere email-uri și altele. Instrucțiunile se pot grupa în blocuri delimitate de acolade { }. Aceste blocuri, numite și "instrucțiuni complexe" se comportă ca și cum ar fi o singură instrucțiune (vezi mai jos exemple de blocuri).

Toate instrucțiunile (in afara de blocuri) trebuie sa fie terminate cu punct si virgula ( ; ). Lipsa acestuia generează o eroare.

3.3 Afișare text

În multe din scripturile scrise de începători (și nu numai) conținutul rezultat în urma execuției este un text (de obicei în format HTML). Pentru a obține acest text, secvențele de cod trebuie să conțină instrucțiuni explicite care să "îi zică" intrepretorului ce trebuie afișat.

Instrucțiunile de afișare sunt prinț, echo și printf. Primele două sunt echivalente și fac același lucru (există unele diferențe de formă, vezi exemplul de mai jos, dar poate fi folosită oricare dintre ele); printf este folosită mai rar datorită sintaxei oarecum greoaie.

<?php

# cele 2 instructiuni de mai jos sunt echivalente

print "Text";

echo "Text";

# o singura instructiune echo poate primi mai multi parametri, separati prin virgula

echo "<br />", "Afisez", " un text din ", 4, " bucati";

# o singura instrucțiune print poate primi doar unul

print "<br />";

print "Afisez";

print " un text din ";

print 4;

print " bucati";

# printf este folosita pentru a formata continutul, la fel ca in C/C++

printf( "<br />Am %4.2f lei", 102.123456 ); // afiseaza Am 102.12 lei

?>

3.4 Variabile

Variabilele din PHP se reprezintă prin caracterul $ (dolar) și numele variablei. Numele valriabliei este case-sensitive.Un nume de variabilă corect în php începe cu o literă sau cu caracterul _ (underscore) și urmat de orice număr de litere, cifre

Exemplu :

php

$variabila=7;

$Variabila='Ceva';

$_variabila=array('element1','element2','element3');

echo "Valorile afisate: ".$variabila.", ".$Variabila.'';

/*

variabila $_variabila este definita ca un array cu o singura dimensiune si pentru afisarea acesteia nu se foloseste functia echo() ci functia var_dump()

*/

var_dump($_variabila);

Rezultatul codului va fi urmatorul.

Valorile afisate : 7, Ceva

array(3)

{

[0]=>string(8) "element1"

[1]=>string(8) "element2"

[2]=>string(8) "element3"

}

Excepție este variabila $this care nu poate lua valori pentru că are alte scopuri (vezi clase).

Nu este necesară inițializarea unei variabile în php deși este foarte indicat. O variabilă neinitializata va avea o valoare predefinita în funcție de tipul ei, astfel, o variabilă de tipul boolean va avea defaul valoarea FALSE, integer va avea valoarea 0 (zero), un strâng va fi egal cu '' (strâng vid sau empty) iar un array va fi gol (empty).

Este recomandată inițializarea variabilelor înainte de folosirea acestor deoarece pot apărea probleme în cazul includerii de alte fișiere care folosesc de asemenea același nume de variabilă (acestea pot fi suprascrise și deci funcționarea codului poate fi alterată). De asemenea folosirea în configurare register_globals pe valoarea on poate crea probleme de interpretare a variabilelor (nu se face diferența în acest caz intre metoda GET și POST).

În cazul în care nu suntem siguri că o variabilă este inițializata putem folosi funcția isset() pentru verificare. În cazul în care variabilele nu sunt inițializate și E_NOTICE din configurări este setat să arate erorile și notificările direct în browser (cum se întâmplă deobicei) nu o să fie prea plăcut. Toate erorile și notificările se înregistrează într-un fișier de logs pe server și acesta poate deveni imens în foarte scurt timp.

In cazul asta ne asigurăm in felul urmator:

php

if(isset($var))

{

echo $var;

}

else

{

echo 'Variabila $var nu are nici o valoare si deci o initializaez eu acum !!!';

$var='o valoare';

}

3.5 Șiruri

Spre deosebire de întregi și numere duble , care conțin cu precădere cifre , șirurile pot conține orice character . Ca atare,șirurile sunt utile pentru stocarea datelor care nu pot fi calculate,precum nume și adrese.

De asemenea , șirurile pot fi utilizate pentru stocarea datelor numerice. Reprezentările sub formă de numere întregi și duble sunt folosite , în general , numai în interiorul calculatoarelor; de regulă, datele sunt introduce în calculatoare și afișate de către acestea sub formă de șiruri. De exemplu , să presupunem că un program convertește temperature din grade Fahrenheit în grade centigrade. Utilizatorul programului introduce temperature sub formă de valoare de tip șir. Programul convertește valoare șir într-o valoare dublă, execută un calcul și convertește rezultatul într-un șir , care este afișat ca rezultat.Motivul derulării acestui process apparent complicat este acela că sistemele de calcul execută efficient operații aritmetice cu valori întregi și duble ; conversia datelor din format șir în format numeric și viceversa este mai simplă decât executarea de operații aritmetice cu șiruri.

Pentru a specifica un șir în PHP , caracterele care alcătuiesc șirul sunt incluse între ghilimele duble;de exemplu șirul reprezentând numele fizicianului care a formulat teoria relativității este “Albert Enstein” . Așa cum s-a explicat , un șir poate conține date numerice ;de exemplu ,”3,14156”.

PHP facilitează includerea în șiruri a unir caractere special , precum caracterele de salt la linie nouă sau retur de car, prin furnizarea de secvențe escape care reprezintă caracterel special. Iată secvențele escape folosite în PHP:

\n salt la linie nouă

\r retur de car

\t character de tabulare orizontală

\\ backlash

\$ simbolul dolarului

\” ghilimele duble

Ca exemplu un șir care include un retur de car , urmat de un salt la linie nouă : “Salut , nume ! \r\n”. Pentru a include un backslash intr-un șir , trebuie sa folosim secvența adecvată, care este alcătuită din doua caractere backslash.

3.6 Operatori

Vom discuta despre operatori aritmetici, de atribuire, de comparație, logici și multipli

Operatorii aritmetici sunt de adunare, scădere înmulțire și împărțire.

adunare $a+$b

scădere $a-$b

inmulțire $a*$b

imparțire $a/$b

modulo (restul imparțirii celor 2 valori) $a%$b

php/exemplu3_1.php">Exemplu:

<?php

$a=12;

$b=3;

$c=7;

$adunare=$a+$b;

$scadere=$a-$b;

$inmultire=$a*$b;

$impartire=$a/$b;

$modulo=$a%$c;

echo $a."+".$b."=".$adunare."<br>";

echo $a."-".$b."=".$scadere."<br>";

echo $a."x".$b."=".$inmultire."<br>";

echo $a.":".$b."=".$impartire."<br>";

echo $a."%".$c."=".$modulo."";

?>

Operatorii de atribuire

Principalul operator de atribuire este = și înseamnă asocierea operatorului

din stânga cu valoarea expresiei din dreapta (a nu se confunde cu egalitatea). Valoarea

unei expresii de atribuire este valoarea atribuită, adică valoarea lui $a=5 este 5.

$a=7;

$a+=6; //atribuie lui $a valoarea 13, acelasi lucru cu $a=$a+6

$b="Buna ";

$b.="ziua"; // atribuie lui $b valoarea "Buna ziua", acelasi lucru cu $b=$b."ziua";

Operatorii de comparatie

egalitate $a==$b TRUE daca $a este egal cu $b

identic $a===$b TRUE daca $a este egal cu $b si sunt de acelasi tip

inegalitate (diferit) $a!=$b TRUE daca $a este diferit de $b

inegalitate (diferit) $a<>$b TRUE daca $a este diferit de $b

neidentic $a!==$b TRUE daca $a este diferit de $b si nu sunt de acelasi tip

mai mic $a<$b TRUE daca $a este mai mic decat $b

mai mare $a>$b TRUE daca $a este mai mare decat $b

mai mic sau egal $a<=$b TRUE daca $a este mai mic sau egal cu $b

mai mare sau egal $a>=$b TRUE daca $a este mai mare sau egal cu $b

Operatorii logici sunt:

NOT !$a TRUE daca $a nu este TRUE

AND $a && $b TRUE daca si $a si $b sunt TRUE

AND $a and $b TRUE daca si $a si $b sunt TRUE

OR $a || $b TRUE daca ori $a ori $b sunt TRUE

OR $a or $b TRUE daca ori $a ori $b sunt TRUE

OR $a xor $b TRUE daca ori $a ori $b sunt TRUE dar nu amandoua

Verificarea functionarii operatorilor de comparatie si logici se poate

face folosind structurile de control care vor fi prezentate in Capitolul 4.

Operatori multipli

Intr-o constructie PHP pot fi pot fi folositi impreuna mai multi operatori.

Exemplu:

<?php

$a=12;

$b=3;

$c=3;

echo $a."+".$b."+".$c."=".($a+$b+$c)."<br>";

echo $a."x".$b."-".$c."=".($a*$b-$c)."<br>";

?>

Incrementarea si decrementarea unui numar

Mărirea unui număr cu o unitate se numește incrementare, iar scăderea cu o unitate se numește decrementare.

Incrementarea se poate realiza adunând o unitate la acel număr (sau variabilă)

sau putem folosi varianta prescurtată, și similar pentru decrementare.

post incrementare $a++ incrementeaza $a cu 1 si returneaza $a

pre incrementare ++$a returneaza $a si incrementeaza $a cu 1

post decrementare $a– decrementeaza $a cu 1 si returneaza $a

pre decrementare –$a returneaza $a si decrementeaza $a cu 1

Exemplu: incrementarea si decrementarea unui număr

<?php

$a=7;

$b=7;

$c=7;

$d=7;

echo "post incrementarea lui 7 este: ".$a++."<br>";

echo "post decrementarea lui 7 este: ".$b–."<br>";

echo "pre incrementarea lui 7 este: ".++$c."<br>";

echo "pre decrementarea lui 7 este: ".–$d."";

?>

Numere aleatoare

rand() este functia din PHP care genereaza automat numere aleatoare. Poate

primi parametri limita minima si maxima a numerelor generate.

Exemplu:

<?php

echo "numar generat aleator: ".rand()."<br>";

echo "numar generat aleator din intervalul 1-49: ".rand(1,49)."";

?>

Functia de rotunjire

round() este functia de rotunjire si poate primi ca parametru numarul de cifre zecimale dupa rotunjire

Exemplu:

<?php

echo "27,54621 rotunjit este: ".round(27.54621)."<br>";

echo "27,54621 rotunjit cu 2 zecimale este: ".round(27.54621,2)."";

?>

3.7 Funcții

In afară de operatori, PHP include funcții care execută operații utile. Iată unele exemple de funcții:

abs(x) Returnează valoarea absolută a lui x

ceil(x) Returnează valoarea x,rotunjită la intregul imediat superior

floor(x) Returnează valoarea x,rotunjită la intregul imediat inferior

max(x,y…) Returnează valoarea maximă a unui set de valori

min(x,y…) Returnează valoarea minima a unnui set de valori

pow(x,n) Returnează numarul x,ridicat la puterea specificată n

strftime(f) Returnează data curentă,formatată conform conținutul paramentrului f

sqrt(x) Returnează rădăcina pătrată a lui x

In afara de acestea , PHP include multe alte funcții.

Majoritatea funcțiilor necesită una sau mai multe valori de intrare,cunoscute sub numele de argumente. De exemplu , funcția sqrt necesită un argument care specifică valoarea a cărei rădăcină pătrată trebuie calculate.

Unele funcții,precum min si max, preiau un număr nedefinit de argumente. Alte funcții nu necesită nici un fel de argumente . Pentru a putea folosi o funcție in mod corespunzător , trebuie să cunoaștem:

Numele funcției

Acțiunea funcțtiei si valoarea returnată de aceasta,dacă există

Numărul argumentelor preluate de funcție

Semnificația fiecărui argument

Iată un exemplu simplu care folosește o funcție pentru calculul lungimii laturilor unui pătrat,dacă este cunoscută aria pătratului :

$lungime = sqrt ($arie);

Capitol 4

Baze de date și Mysql

4.1 Introducere

Un sistem de baze de date este, în esență, o modalitate de a gestiona liste cu informații Informațiile pot proveni dintr-o varietate de surse. De exemplu,se pot reprezenta date de cercetare, înregistrări de afaceri, cereri ale clienților, statistici sportive, rapoarte d( vânzări, informații despre hobby-urile proprii, înregistrări de personal, rapoarte privim defecțiuni sau notele unor elevi. Totuși, deși sistemele de baze de date pot lucra cu gamă largă de informații, nu folosiți un asemenea sistem doar de dragul de a-1 folosi Dacă o sarcină este de la bun început ușor de îndeplinit, nu aveți nici un motiv de î insera o bază de date numai pentru a o folosi. O listă de cumpărături este un exemplv bun: scrieți articolele pe care trebuie să le cumpărați, le ștergeți de pe listă atunci când 1< cumpărați și apoi aruncați lista. Este puțin probabil să folosiți o bază de date pentru asta Chiar dacă aveți un calculator de tip palmtop (care poate fi ținut în palmă – N.T.) proba¬bil că pentru lista de cumpărături veți folosi funcția sa de editare de texte, nu caracteris¬ticile sale de baze de date.

Puterea unui sistem de baze de date intră în acțiune atunci când informațiile pe care dorim să le organizăm și să le gestionăm devin voluminoase sau complexe, astfel încât înregistrările noastre devin prea dificil de manipulat manual. Bazele de date pot fi folosite, desigur, de către mari corporații, care prelucrează milioane de tranzacții zilnic. Dar chiar și operațiile la scară mică, care necesită o singură persoană pentru a întreține informații de interes personal, pot necesita o bază de date. Nu este greu să ne gândim la situații încarc utilizarea unei baze de date poate fi benefică, deoarece nu trebuie să avem cantități imense de informații înainte ca acele informații să devină dificil de gestionat.

4.2 Utilizarea generală a sistemului MySQL

Nu trebuie sa fim programatori pentru a învăța să folosim SQL în mod eficient. Pe măsură ce ne familiarizăm cu limbajul, vom privi instrucțiunea CREATE TABLI într-o altă lumină – ca pe un aliat care vă ajută să vă descrieți informațiile, nu ca pe bălmăjeală ciudată.

Terminologia folosită în arhitectura sistemului MySQL

Când se folosește MySQL, în realitate se utilizează două programe, deoarece MySQL opereaz folosind o arhitectură client/server:

• Serverul de baze de date este un program localizat în calculatorul unde sunt stocați datele. Acesta ascultă cererile clienților care sosesc prin rețea si obțin< acces la conținutul bazei de date în funcție de aceste cereri, pentru a furniza cliențilo informațiile pe care le solicită.

• Clienții sunt programe care se conectează la serverul de baze de date și emit interogări pentru a-i indica acestuia informațiile pe care le doresc.

Distribuția MySQL include serverul si numeroase programe client. Clienții sunt utilizat în funcție de scopurile urmărite. Cel mai folosit program este mysql, un client interacth care vă permite să emiteți interogări și să vedeți rezultatele. Alți clienți sunt mysqldump s mysqlimport, care trimit conținutul tabelelor într-un fișier și invers, respectiv mysqladmin care vă permite să verificați starea serverului si execută operații administrative, cum ar : solicitarea de oprire a serverului. Dacă aveți aplicații pentru care utilizarea clienților stan¬dard nu este adecvată, MySQL mai furnizează o bibliotecă de programare a clienților, ăst fel încât dumneavoastră să vă puteri scrie propriile programe. Biblioteca este utilizabil direct din programele C, după cum există si numeroase alte interfețe, dacă preferați limbaj decât C.

Arhitectura client/server din MySQL are anumite avantaje:

• Serverul asigură controlul concurenței, pentru ca doi utilizatori să nu poată mo difica aceeași înregistrare simultan. Toate cererile clienților trec prin server, dec serverul determină clientul care execută cutare operație si când o execută. Dacă mă mulți clienți doresc simultan accesul la același tabel, ei nu sunt obligați să se găseasc si să negocieze unii cu alții. Ei își trimit cererile la server și îl lasă pe acesta să se ocup de determinarea ordinii în care vor fi onorate cererile.

• Nu trebuie să deschideți sesiunea de lucru la calculatorul unde este conectată baz dumneavoastră de date. MySQL „știe" să lucreze prin Internet, deci puteți rula u program client de oriunde vă aflați, iar clientul se poate conecta la server prin rețea Distanța nu contează; puteți obține acces la server din orice parte a lumii. Dac serverul se află pe un calculator din Australia, vă puteți lua calculatorul laptop într-călătorie în Islanda si tot puteți obține acces la baza dumneavoastră de date.

Aceasta înseamnă oare că oricine poate avea acces la date , prin Internet Nu. MySQL include un sistem flexibil de securitate, deci puteți permite accesul numi persoanelor îndrituite să beneficieze de el. De asemenea, ne putem asigura ca aceste persoane pot face numai ceea ce trebuie să facă. Poate că Maria de la biroul de facturare trebuie să poată citi și actualiza (modifica) înregistrările, în timp ce George de la biroul de ser vice trebuie să poată numai să citească înregistrările. Le putem stabili privilegiile în consecință. Dacă dorim să rulam un sistem autonom, pur si simplu stabiliți privilegiile de acces astfel încât clienții să se poată conecta numai de la gazda pe care rulează serverul.

4.3 Crearea bazei de date

Pentru a crea baza de date samp_db si tabelele din interiorul acesteia se folosesc instrucțiunile de mai jos.

Utilizarea unei baze de date implică mai multe etape:

1. Crearea (inițializarea) bazei de date

2. Crearea tabelelor din cadrul bazei de date

3. Interacțiunea cu tabelele prin inserția, regăsirea, modificarea sau ștergerea datelor.

Pentru a crea o bază de date nouă, ne connectam la server folosind mysql și apoi se emite o instrucțiune CREATE DATABASE care specifică numele bazei de date:

mysql> CREATE DATABASE samp_db;

Va trebui să creați baza de date samp_db înainte de a putea crea oricare dintre tabelele care vor fi incluse în aceasta sau înainte de a efectua orice operații folosind conținutul acelor tabele.

Prin crearea bazei de date aceasta baza de date curentă nu devine prestabilităPentru ca baza de date samp_db să devină curentă, se emite o instrucțiune USE: mysql>* USE samp_db.

4.3.1 Creare Tabel

Pentru aceasta, folosesc instrucțiunea CREATE TABLE, care are următoarea formă generală: CREATE TABLE nume_tabel ( specificatii_coloane )

nume_tabel indică numele pe care dorim s ail dă-m tabelului. specificatii_coloane conține specificațiile pentru coloanele din tabel, inclusiv indexurile (dacă avem vreunul). Indexurile permit căutări mai rapide.

Instrucțiunea CREATE TABLE pentru tabelul membru se prezintă astfel: CREATE TABLE membru

nume VARCHAR(20) NOT NULL,

prenume VARCHAR(20) NOT NULL,

sufix VARCHAR (5) NULL,

data_expirare DATE NULL DEFAULT "0000-00-00",

email VARCHAR(100) NULL,

Strada VARCHAR(SO) NULL,

oraș VARCHAR(50) NULL,

Stat VARCHAR(2) NULL,

Cod_postal VARCHAR(10) NULL,

telefon VARCHAR(20) NULL,

interese VARCHAR (255) NULL

Cele două tipuri de coloane folosite în tabelul membru sunt VARCHAR și DATE. VARCHAR(j arată că acea coloană conține valori caracter (șir) de lungime variabilă, cu o lungime max mă de n caractere pentru fiecare valoare.

4.3.2 Sugestii pentru interacțiunea cu mysql

Această secțiune discută despre modul de a interacționa cu programul client mysql într-o manieră mai eficientă și cu mai puțin text introdus de la tastatură. Este descris un mod mai simplu de conectare la server și metode de introducere a interogărilor fără a o tasta pe fiecare de la început până la sfârșit.

Simplificarea procesului de conexiune

Probabil că trebuie să specificăm parametri de conexiune precum numele gazdei, numele de utilizator sau parola atunci când invocăm mysql. Pentru simpla rulare a unui program trebuie introdusă o cantitate serioasă de text, lucru care devine foarte repede obositor. Există numeroase metode pentru simplificarea procesului de conectare, prin reducerea la minimum a textului introdus de la tastatură:

• Utilizăm un fișier cu opțiuni pentru stocarea parametrilor de conectare.

• Repetăm comenzile beneficiind de caracteristicile interpretorului de memorare a comenzilor (istoric).

• Definiți o scurtătură pentru linia de comandă mysql folosind un alias sau un script de interpretor.

4.3.3 Utilizarea unui fișier cu opțiuni

Stocăm parametri de conexiune într-un fișier cu opțiuni. Apoi, nu mai trebuie să tastăm parametru de fiecare dată când rulăm mysql; aceștia sunt folosiți ca și cum i-am fi introdus în linia de comandă. Parametrii sunt de asemenea folosiți și de către alte programe client MySQL, precum mysqlimport. Aceasta înseamnă că un fișier cu opțiuni reduce cantitatea de text introdus atunci când folosiți și aceste programe.

Pentru a folosi fișierul cu opțiuni în vederea specificării parametrilor de conexiune, creem un fișier denumit -/.my.cnf (adică un fișier denumit .my.cnf în catalogul dum¬neavoastră de bază). Un fișier cu opțiuni este un fișier cu text simplu, deci îl putem crea folosind orice editor de texte. Conținutul fișierului se prezintă astfel:

[client]

host=gaz(/a_serverului

user=numele

password=parola

Linia [client] indică începutul grupului cu opțiuni pentru programul client; toate liniile care urmează după aceasta sunt linii citite de către programele client MySQL pentru a obține valorile opțiunilor, până la sfârșitul fișierului sau până la începutul unui grup de parametri diferit, înlocuiți gazda_serverului, numele si parola cu numele gazdei, numele de utilizator și parola pe care le specificați când vă conectați la server. Pentru mine, fișierul . my. cnf se prezintă astfel

[client]

host=utm.licență.net

user=robert

password=secret

4.4 Tipurile de coloane

Tipurile de coloane MySQL reprezintă mijloacele prin care descriem categoriile de valori pe care le conțin coloanele unui tabel, care, la rândul lor, determină modul în care MySQL tratează aceste valori

4.4.1 CHAR și VARCHAR

CHAR si VARCHAR sunt cele mai folosite tipuri șir. Diferența dintre ele constă în aceea că CHAR este un tip de lungime fixă, iar VARCHAR este un tip de lungime variabilă. Valorile dintr-o coloană CHAR (M) ocupă fiecare câte M octeți; valorile mai scurte sunt completate la dreapta cu spații atunci când sunt stocate. (Totuși, la regăsirea acestor valori, spațiile finale sunt eliminate.) Valorile dintr-o coloană VARCHAR (M) sunt stocate folosind numai cantitatea de octeți necesară, plus un octet pentru înregistrarea lungimii5.

Dacă lungimea valorilor dumneavoastră nu variază prea mult, CHAR este o opțiune mai bună decât VARCHAR, deoarece tabelele cu rânduri de lungime fixă pot fi prelucrate mai eficient decât tabelele cu lungime variabilă. Dacă valorile dumneavoastră au toate aceeași lungime, VARCHAR va folosi, de fapt, un spațiu mai mare, datorită octetului suplimentar utilizat pentru înregistrarea lungimii valorilor.

Anterior versiunii MySQL 3.23, coloanele CHAR și VARCHAR pot fi declarate cu o lungime maximă M cuprinsă între l si 255. începând de la versiunea MySQL 3.23, CHAR(O) este de asemenea o valoare permisă. CHAR(O) este util ca element de înlocuire atunci când doriți să declarați o coloană, dar nu vreți să alocați spațiu pentru aceasta dacă nu sunteți sigur de lățimea pe care doriți să i-o atribuiți. Puteți folosi ALTER TABLE pentru a mări ulterior lățimea coloanei. O coloană CHAR(O) poate fi de asemenea folosită pentru a reprezenta valorile pornit/oprit, dacă îi permiteți să ia valoarea NULL. Valorile dintr-o asemenea coloană pot lua două valori, în speță NULL si șirul vid. O coloană CHAR(O) ocupă un spațiu de stocare foarte redus în interiorul tabelului: un singur bit.

4.4.2 ENUM și SET

ENUM și SET sunt tipuri de șiruri speciale pentru care valorile coloanelor trebuie alese dintr-un set fix de șiruri. Principala diferență dintre cele două tipuri este că valorile coloanelor de tip ENUM trebuie să fie alcătuite dintr-un singur membru al setului de valori, în timp ce valorile dintr-o coloană SET pot conține oricare membru al setului sau chiar pe toți membrii. Cu alte cuvinte, ENUM este folosită pentru valori mutual exclusive, în timp ce SET permite mai multe opțiuni dintr-o listă de valori.

Tipul de coloană ENUM definește o enumerare, în coloanele ENUM se pot repartiza valori alcătuite din exact un membru ales dintr-o listă de valori specificată în momentul creării tabelului. O enumerare poate avea maximum 65536 membri (din care unul este rezervat de către MySQL). Enumerările se folosesc frecvent pentru a reprezenta valorile dintr-o categorie. De exemplu, valorile dintr-o coloană declarată ca ENUM ( "N" , "D" ) pot fi numai "N" sau "D". Alternativ, puteți folosi ENUM pentru răspunsuri la întrebări cu opțiuni mul¬tiple dintr-un chestionar sau studiu, respectiv pentru mărimile și culorile unui produs:

salariați ENUM("sub 100", "100-500" ,"501 -1500", "peste 1500")

culoare ENUM("rosu" ," verde" /albastru", "negru")

mărime ENUM("S", "M" , "L" ,"XL" , "XXL")

4.4.3 Tipurile de coloane BLOB și TEXT

Un "BLOB" este un obiect binar mare (binary /arge object), în esență un container care poate stoca orice doriți să puneți în el și pe care îl puteți face aproape oricât de mare i doriți, în MySQL, tipul BLOB este de fapt o familie de tipuri (TINYBLOB, BLOB, MEDIUM-BLOB, LONGBLOB) care sunt identice, cu excepția cantității maxime de informații pe care o pot stoca (vezi tabelul 2.8). MySQL mai are o familie de tipuri TEXT (TINYTEXT, TEXT; | MEDIUMTEXT, LONQTEXT). Acestea sunt identice din toate punctele de vedere cu tipurile i BLOB corespunzătoare, cu excepția faptului că, la comparare si sortare, valorile BLOB sunt j sensibile la diferența între majuscule și minuscule, în timp ce valorile TEXT nu sesizează J această diferență. Coloanele BLOB si TEXT sunt utile pentru stocarea datelor care poți deveni foarte mari sau care pot varia foarte mult ca dimensiune de la un rând la altul. < Printre exemple se numără documentele create cu procesoarele de text, imaginile sunetele, datele compuse și articolele de știri.

4.4.4 DATE, TIME și DATETIME

Tipurile DATE, TIME și DATETIME conțin valori de date, ore și valori combinate de tip dată-oră. Formatele sunt "AAAA-LL-ZZ", "hh:mm:ss", "AAAA-LL-ZZ hh:mm:ss". Pentru tipul DATETIME, partea de dată și cea de oră sunt obligatorii; dacă atribuiri o valoare DATE unei coloane DATETIME, MySQL adaugă automat o parte de oră sub forma " 00:00:00".

MySQL tratează ora din valorile DATETIME și TIME în moduri ușor diferite. Pentru DATETIME, partea de oră reprezintă o oră din zi. Pe de altă parte, o valoare TIME reprezintă timpul scurs (iată de ce domeniul este atât de mare si de ce sunt permise și valorile negative). Partea din extremitatea dreaptă a valorii este considerată ca indicând secunde deci, dacă inserați o va¬loare de oră „scurtă" (incomplet definită), precum "12:30" într-o coloană TIME, valoarea stocată este "00:12:30", ceea ce este interpretat sub.forma „12 minute, 30 de secunde". Puteți folosi coloanele de tip TIME pentru a reprezenta ora din zi dacă doriți, dar nu uitați de această regulă de conversie dacă doriți să evitați problemele. Pentru a insera valoarea „12 ore, 30 de minute", trebuie să o specificați sub forma " 12:30:00".

Capitolul 5

Webdesign si elemente de SEO

5.1 Introducere Web Design

Încă din stadiul de creare website, modul cum este aranjat site-ul ,poate face diferența între succesul și eșecul acestuia. La nivel de web design, succesul unui site se transpunenumărul de comenzi sau de cereri de ofertă pe care site-ul le generează.

Pentru început este nevoie să stabilim scopul site-ului pentru companiile de mărimea lui Disney sau cele de dimensiuni primul pas este la fel. Trebuie să înțelegem șiș ă alegem top 3 țeluri pe care compania sau clientul vrea să le atingă prin re design. Aceste țeluri ifluențeaza direct structura site-ului , design-ul visual , layout-ul și alegerile de conținut pe care trebuie să le facem pentru fieare pagină

Următorul exercițiu care ar fi folositor este acela de a sta de vorbă cu clientul șiș a se facă o listă cu tot ce trebuie să facă site-ul . Câteva ghiduri

:

Să se facă o listă pentru a scrie propozițiile de genul :

Abilitatea de inregistrare

Abilitate de logare , delogare

5.2 Creare Plan de site

După ce avem o idee destul de bună cât timp de lucru este nevoie pentru noul site , putem stabili un proiect care listează toți pașii , organizați împreună cu bugetul necesar pentru îndeplinirea fiecărui pas.

Majoritatea producătorilor web folosesc Microsoft project să marcheze pașii , să dea la fiecare membru din echipa de lucru și ordinea de lucru. Designerul mai întâi crează câteva direcții în care ar vrea să se ducă cu site-ul și după clientul allege unul, după acest pass astetica site-ului este stabilită. Dacă clientului îi ia mai mult de două zile ca să se decidă sau refuză design-urile prezentate deobicei programul este deformat și ziua de lansare este în pericol.

5.3 Design

5.3.1 Blueprint

Creare de blueprint . O primă cerință în partea de design pentru oricare website , larg sau mic este de a creea blueprint-ul, sau harta site-ului cum este numit în industrie. Fără o hartă a site-ului este un drum rapid către frustrare. În al doilea rând fără un plan , nu putem anticipa tot conținutul , paginile și opțiunile care trebuie să le conțină site-ul.

De exemplu , dacă ajungem la mijlocul design-ului și realizăm că am uitat să includen o optiunie criticala ca o zonă de resurse . Trebuie să refacem toată interfața care putea fi făcută prima oară dacă aveam un plan

5.3.2 Design pentru fiecare pagină

Harta site-ului ne arată site-ul web din perspectiva de pasăre de deasupra , dar nu ne oferă detaliile de design pentru fiecare pagină. Pentru asta este nevoie de o serie de wireframes.

În timpul fazei de design, Arhitectul de informative colectează informațiile de la toți membrii echipei și construiește o diagram de layout,numită wireframe, pentru fiecare pagină a site-ului. Wireframe-ul arată următoarele elemente :

Schema de navigare globală

Text-ul si media si poziția lor relative

Design-ul de interacțiune ( cum folosesc oamenii elementele din pagină )

5.3.3 Implementare de testare

Testatul de wireframes cu utilizatorii este un process repetitive care pornește în faza de design și continua mult timp pe parcursul evoluției proiectului. Testarea timpurie în faza de design este o metodă bună de a vedea dacă proiectul este pe drumul cel bun pentru că se pot face schimbări rapid înainte să ajungem prea departe cu producția.

5.3.4 Planul de conținut

În același timp cu execuția wireframe-ului trebuie să se stabilească și un plan de conținut .

Nu putem sugera unui client o zonă de știri de exemplu fără să știm de unde vin știrile cât de mare ar trebuii să fie și cât de des îi v-a da update clientul.

Dacă site-ul folosește un sistem de management de conținut ( o bază de date care găzduiește toate textile și le transmite către pagina), Strategistul de conținut crează o listă cu toate tipurile de component de text care merg în fiecare pagină și le categorizează în tipuri de genul headlines,captions,și descrieri și subtipuri pentru fiecare tip. Un strategist de conținut stabilește și reguli pentru fiecare tip de conținut, ca de exemplu câte multe caractere de text poate conține.

În final , de-a lungul fazei de design , echipa de conținut se gândește la tonul de scris care ar fi cel mai bun pentru site , având în vedere obiectivul de afaceri stabilite în timpul fazei de definire. De exemplu , ar trebuii ca textul site-ului să se citească drept cald sau cu energie mare și exctiand, sau poate scurt și la obiect.

5.4 Elemente SEO

Să fii pe prima pagină în Google este ținta tutoror ownerilor de site-urilor . Din păcate mulți dintre ei, incă fac multe greșeli pentru a inbunatații această poziție.

Nu este posibil să ajungi pe prima pagină de la Google având o singură strategie. Ca să reușești este necesar să ai în vedere toate elementele care țin de optimizarea eficientă a website-ului tău. O să prezint câteva elemente de marketing :

Accesibilitatea website-ului de catre motoarele de cautare

Nu are sens să optimizăm webiste-ul dacă motoarele de căutare nu iți pot scana conținutul.Fișierul robots.txt trebuie să permită accesul acestora la conținut. Dacă acest fișier conține erori majoritatea motoarelor de căutare nu vor lista site-ul dumnevoastră.Nu trebuie să avem erori în fișierele html iar serverul trebuie să întoarcă codul de răspuns corect. Anumite erori din cadrul unei pagini web pot bloca total sau parțial accesul motoarelor de căutare la conținut. Înainte de a face orice fel de optimizare unui website trebuie avute în vedere aceste elemente.

Arhitectura website-ului

Google dorește să afișeze rezultatele relevante în căutări. Website-ul nu trebuie să conțină o listă de pagini aleatoare cu informații la întâmplare. Majoritatea paginilor ar trebui să aibă o legătură între ele în funcție de tipul website-ului și al afacerii.Conținutul dumneavoastră trebuie să fie relaționat unui anumit subiect. Toate paginile trebuie să aibă linkuri în interiorul site-ului iar la acestea trebuie să se ajungă din maxim 3 click-uri. Structura de linkuri trebuie să fie așezate pe diverse categorii astfel încât motoarele de căutare să înțeleagă structura conținutului dumneavoastră și al valorii paginilor din site. Cuvintele cheie

Google dOptimizarea a cât mai multor pagini pe cuvinte diferite. Cu cât mai multe cu atât mai bine. Se folosesc pentru început cuvinte cheie mai lungi, de ex “Laptop Toshiba Satellite M250″Când ați ajuns în top pentru aceste cuvinte puteți trece la variante mai scurte, de ex. “Laptop Toshiba Satellite”După ce sunteți bine poziționați și pentru această variantă puteți ținti și mai sus, de ex. “Laptop Toshiba”Alegerea cuvintelor cheie potrivite este unul dintre cei mai importanți factori. Alegerea greșită a acestora vă ruina toată munca de până acum.

În general, cuvintele cheie mai lungi au o rată de conversie mai bună decât cele scurte. Practic, cuvântul cheie “Laptop Toshiba Satellite M250″ are șanse să aducă mai mulți clienți decât “Laptop Toshiba” raportat la numărul de vizitatori aduși.

Continutul

Site-ul d nu va fi niciodată bine poziționat în Google dacă folosim informații copiate de la alții. Separați website-ul de restul creând conținut unic și de încredere. Scrieți singuri articolele legate de ceea ce doriți să transmiteți despre compania sau produse. Este nevoie să transofrmăm site-ul într-o resursă utilă pentru cei care navighează pe internet.

Linkurile de la alte website-uri

Nu este posibil să obținem o bună poziționare în motoarele de căutare fără ca alte site-uri să facă trimitere către site-ul nostru. Cu cât mai multe website-uri fac trimitere către site cu atât șansele unei mai bune poziționări cresc. Un lucru foarte important la acest capitol este acela că site-urile care vorbesc despre site-ul nostru să fie de încredere și să aibă o bună reputație pe internet. Dacă avem site-uri satelit care fac trimitere către noi și acest lucru este depistat, valoarea acestor linkuri va tinde către 0. Rețelele sociale sunt de un real ajutor. Cu cât mai mulți oameni adaugă la favorite site-ul în rețelele sociale cu atât mai bine.

Capitolul 6

Aplicație web cu conținut psihologic

6.1 Descriere Site

Aplicația folosește html 5 cu design modern elegant folosindu-se de elementele din ultimile versiuni de css. Ca descriere la prima vedere este un site pentru mobil avand cateva articole despre stările psihice si condițiile intalnite la oameni. Beneficiaza de un login si register cu baza de date mysql si facută legatura cu Php .

6.1.1 Pagina principală index-ul

Am ales sa pun informatii in articole despre diferitele condiții psihologice care pot aparea la oameni , reprezentate prin imagini .

Meniul de navigație din partea stanga permite accesul la baza de date respectiv login si logout si la o pagina cu informatii despre site.

Sub meniu se pot observa icons catre rețelele sociale , acestea au efect de culoare pentru fiecare in parte . Facebook albastru , google + roșu si behance albastru deschis. Icoana de RSS feed este introdusa dar legatura nu este stabilită.

Am folosit script din libraria jquerry pentru mouse over cand mouse-ul este deasupra ferestrei imaginea dispare si in locul acesteia ramane numele articolului .

6.1.2 Articole

Articolele de psihologie sunt puse in spatele imaginilor un exemplu este pagina aceasta .

Pagina contine Imagine si video care au fost puse cu link extern de genul

Și ceea din video cu un iframe

Navigarea intre articole se poate face din meniu amplasat in partea din dreapta in body la articole .

Am folosit o clasa de sectiuni cu trimitere la documentele html exemplu fiind trecerea de la articolul anxiety la depresie de mai jos

6.1.3 Vedere Mobil

In ziua de astăzi se pune mai mult accentual pe funcționalitatea pe mobil la aplicațiile web, asa ca design-ul a fost indreptat de la inceput si pe acest site catre mobil. Meniul schimbandu-și funcționabilitatea față de dextop aici este de genul drop down. Si imaginile devin text la atingerile pe telefon.

După login am pus articole de specialitate pentru download cu ajutorul funcțiilor html 5

6.2 Funcționalitate

6.2.1 Creeare de baza de date

Baza de date am creeat-o cu urmatoarea comanda pe server

CREATE DATABASE `login_securearky` ;

CREATE TABLE `users` (

`user_id` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`username` VARCHAR( 25 ) NOT NULL ,

`email` VARCHAR( 35 ) NOT NULL ,

`password` VARCHAR( 50 ) NOT NULL ,

UNIQUE (`email`)

) ENGINE = MYISAM ;

Această comanda creeaza o baza de date numita login_securearky cu un table de 4 randuri de id care este cheie primara si se incrementează automat , username , email care trebuie sa fie unic si parola.

6.2.2 Conectarea la baza de date

Conectarea la baza de date se face cu php dupa cum urmeaza cu un document pe care l-am numit dbconnect.php

In cazul in care conexiunea sau user/parola nu sunt menționate una din urmatoarele erori ( connection problem ) sau (oops database selection problem) apare.

Conectarea la baza de date ofera accesul necesar scriptului sa adauge informațiile utilizatorilor in tabele. O dată conectat se pot manipula datele in functie de cerințele din scripturi.

6.2.3 Login And Register

Pentru login am folosit urmatorul cod

Pentru inceput a fost nevoie sa stabilesc legatura la baza de date pe care am trecut-o mai sus. Si seria de interație IF pentru cazurile posibile in caz ca utilizatorul are cont sa puna detaliile , in cazul in care sunt corecte sa redirecționeze catre pagina home pentru utilizatori .

In cazul in care utilizatorul este deja logat sa deschida direct pagina home fara sa mai il direcționeze catre pagina de login cu

if(isset($_SESSION['user'])!="")

{

header("Location: home.php");

}

Iar daca detaliile sunt gresite sa apara eroare de detalii gresite ( wrong details )

Daca utilizatorii nu au cont , le este pus la dispoziție funcția register . Pentru inregistrare este nevoie de nume utilizator , parolă si email . in cazul in care una dintre ele nu este correct introdusa v-a aparea un mesaj de notificare

Pentru inregistrare am inclus iar dbconnect.php care este prezenta pentru legatura la baza de date si am facut scriptul de insert in db fiecare variabila din db s-a facut legatura pentru ca datele introduce de utilizator sa fie stocate in baza de date login_securearky

if(isset($_POST['btn-signup']))

{

$uname = mysql_real_escape_string($_POST['uname']);

$email = mysql_real_escape_string($_POST['email']);

$upass = md5(mysql_real_escape_string($_POST['pass']));

if(mysql_query("INSERT INTO users(username,email,password) VALUES('$uname','$email','$upass')"))

{

?>

<script>alert('successfully registered ');</script>

<?php

Similar Posts

  • Aplicatie Android Pentru Gestiunea Unei Biblioteci Personale (clasica Si Electronica)

    CUPRINS Introducere…………………………………………………………………………….11 I.Cerinte impuse……………………………………………………………………….13 II.Arhitectura aplicatiei……………………………………………………………….17 III.Descrierea bazei de date…………………………………………………………..22 3.1 Modelul Entitate-Relatie………………………………………………….22 3.2 Modelul Relational………………………………………………………..23 3.3 Scripturi SQL……………………………………………………………..25 IV.Descrierea Serviciului WEB………………………………………………………30 4.1 Meniu Serviciu WEB……………………………………………………..30 4.2 Descrierea metodelor Serviciului WEB…………………………………31 V.Descrierea aplicatiei………………………………………………………………..48 5.1 Meniul Aplicatiei…………………………………………………………48 5.2 Diagrame de clase………………………………………………………..51 5.3 Descrierea detaliata a claselor…………………………………………..53 VI.Testare…………………………………………………………………………….71 VII.Concluzii si propuneri de imbunatatire………………………………………..72 Works Cited………………………………………………………………………….73 Bibliografie……………………………………………………………………………73 Anexe………………………………………………………………………………….75…

  • Șabloane de Proiectare în Aplicații Web

    CUPRINS CAPITOLUL I. INTRODUCERE………………………………………………………………………………………. 1.1. Motivația temei………………………………………………………………………………….. 1.2. Scopurile lucrării………………………………………………………………………………… 1.3. Structura………………………………………………………………………………………….. CAPITOLUL II. Șabloane de proiectare in aplicații web……………………………………………….. 2.1. Generalități (ce sunt șabloane de proiectare, clasificare, elementele unui șablon)…………………………………………………………………………………………………. 2.2. Șabloanele ale aplicației web……………………………………………………………. CAPITOLUL III. Descrierea aplicației…………………………………………………………………………… 3.1. Domeniul de interes………………………………………………………………………… 3.2. Analiză…………………………………………………………………………………………… CAPITOLUL IV. Aplicarea șabloanelor de proiectare in aplicații web…

  • Algortimi DE Rutare In Retele Wireless

    INTRODUCERE Progresele tehnologice uriașe realizate în ultimii ani în domeniile Sistemelor Micro-Electromecanice (MEMS) și Nano-Electromecanice (NEMS) au dat o nouă dimensiune dezvoltării rețelelor de senzori wireless. S-a obținut astfel pe de-o parte reducerea mărimii, a greutății și a costurilor de fabricație ale senzorilor, iar pe de atltă parte au fost îmbunătățite caracteristicilor lor de funcționare…

  • Functionarea Si Aplicatiile Senzorilor Inteligenti

    FUNCȚIONAREA ȘI APLICAȚIILE SENZORILOR INTELIGENȚI CUPRINS: Prezentarea temei Partea I Considerații teoretice Noțini de bază asupra senzorilor și traductoarelor Clasificarea mărimilor măsurabile Clasificarea senzorilor și traductoarelor Senzori generatori Senzori parametrici Structuri de traductoare inteligente Traductoare fotoelectronice Generalități Senzori cuantici Clasificarea senzorilor cuantici Senzori și traductoare fototermice Dispozitive piroelectrice Senzori analitici Traductoare cu microunde Caracterizare generală…

  • Configurarea Concentrata Zonala a Retelelor de Calculatoare cu Echipamente Cisco

    Introducere Capitolul 1 Rețele de calculatoare 1.1 Definiție 1.2 Tipuri de rețele de calculatoare 1.3 Topologii de rețele de calculatoare 1.4 Echipamente utilizate la crearea rețelelor de calculatoare Capitolul 2 Rutare si servicii 2.1 Modelul OSI 2.2 Modelul TCP/IP 2.3 Adresa MAC 2.4 Adresa IP 2.5 Clase de adrese IP 2.6 Masca de rețea 2.7…

  • Aplicatii Client Server Pentru Gestionarea Activitatii Policlinicii

    Introducere………………………………………………………………………………5 baze de date relaționale……………………………………………………..6 Noțiuni generale ……………………………………………………………………6 Aspecte privind evaluarea performanțelor bazelor de date ………………..7 Măsurări ale performanței………………………………………………………..8 Fișierele ………………………………………………………………………………9 Descrierea modelelor de fișiere ………………………………………………10 Motorul Bazei de Date ……………………………………………………………11 Gruparea Datelor …………………………………………………………………12 Întreținerea Bazelor de date ……………………………………………………13 Crearea copiilor de siguranță …………………………………………………13 Corectarea unei copii de siguranță greșite …………………………………….14 Refacerea în starea curentă…